ログイン
新規登録
AtsuoCoder Waseda Tour Finals 2025
読込中…
Home
Tasks
Clar
Submissions
Standings
提出 ea658892-ab09-4f39-b264-330e70529db7
コード
#include <bits/stdc++.h> using namespace std; int main() { int n, m, h; cin >> n >> m >> h; vector<int> d(n), t(n); for (int i = 0; i < n; i++) cin >> d[i] >> t[i]; int ok = 0, ng = 1000000009; while (ng - ok > 1) { int mid = (ok + ng) / 2; vector<int> avail; for (int i = 0; i < n; i++) { if (t[i] <= mid) { avail.push_back(d[i]); } } sort(avail.begin(), avail.end()); if (avail.size() < m) { ok = mid; } else { if (h < accumulate(avail.begin(), avail.begin() + m, 0ll)) { ok = mid; } else { ng = mid; } } } cout << (ng == 1000000009 ? -1 : ng) << endl; }
結果
問題
点数
言語
結果
実行時間
メモリ
G - Contest
0
C++
WA
68 ms
6656 KiB