ログイン
新規登録
AtsuoCoder Waseda Tour Finals 2025
読込中…
Home
Tasks
Clar
Submissions
Standings
提出 c04fe35e-3dd8-411a-a9e3-3f01ecfddf20
コード
#include<bits/stdc++.h> using namespace std; using ll=long long; int main(){ int n,m; ll h; cin>>n>>m>>h; vector<int>d(n),t(n); for(int i=0;i<n;i++) cin>>d[i]>>t[i]; int ng=0,ok=1000000001; while(ok-ng>1){ int mid=(ng+ok)/2; vector<int>vec; for(int i=0;i<n;i++) if(t[i]<=mid) vec.push_back(d[i]); if(vec.size()<m){ ng=mid; continue; } sort(vec.begin(),vec.end()); ll sum=0; for(int i=0;i<m;i++) sum+=vec[i]; if(sum<=h) ok=mid; else ng=mid; } if(ok==1000000001) ok=-1; cout<<ok<<endl; }
結果
問題
点数
言語
結果
実行時間
メモリ
G - Contest
150
C++
AC
327 ms
6004 KiB