Submission #337256

#TimeUsernameProblemLanguageResultExecution timeMemory
337256boykutDivide and conquer (IZhO14_divide)C++14
48 / 100
1086 ms3180 KiB
#include <bits/stdc++.h> using namespace std; #define int long long struct gold { int x, g, e; } a[100001], pr[100001]; signed main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i].x >> a[i].g >> a[i].e; pr[i].g = pr[i - 1].g + a[i].g; pr[i].e = pr[i - 1].e + a[i].e; } sort (a + 1, a + 1 + n, [](gold a, gold b) -> bool { if (a.x != b.x) return a.x < b.x; if (a.e != b.e) return a.e > b.e; return a.g >= b.g; }); int ans = -9e18; for (int left = 1; left <= n; left++) { for (int right = left; right <= n; right++) { if (a[right].x - a[left].x <= pr[right].e - pr[left - 1].e) { ans = max(ans, pr[right].g - pr[left - 1].g); } } } cout << ans << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...