Submission #169121

#TimeUsernameProblemLanguageResultExecution timeMemory
169121LinusTorvaldsFanDivide and conquer (IZhO14_divide)C++14
48 / 100
1066 ms2932 KiB
#include <iostream> #include <algorithm> #include <vector> using namespace std; const int maxn = 100000 + 7; typedef long long ll; int x[maxn]; int g[maxn]; int d[maxn]; ll pr_d[maxn]; ll pr_g[maxn]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; for (int i = 0; i < n; i++) { cin >> x[i] >> g[i] >> d[i]; } vector<pair<ll, ll>> q; for (int i = 0; i < n; i++) { pr_d[i] = (i>0?pr_d[i-1]:0) + d[i]; pr_g[i] = (i > 0 ? pr_g[i - 1] : 0) + g[i]; } ll gold = 0; for (int i = 0; i < n; i++) { q.emplace_back(((i>0?pr_d[i - 1]:0) - x[i]),(i>0?pr_g[i-1]:0)); ll cur = pr_d[i] - x[i]; for (auto t : q) { if (cur >= t.first) { gold = max(gold, pr_g[i] - t.second); } } } cout << gold; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...