제출 #526246

#제출 시각아이디문제언어결과실행 시간메모리
526246maks007Divide and conquer (IZhO14_divide)C++14
48 / 100
1079 ms2228 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int32_t main(void) { int n; cin >> n; vector <pair <int,pair <int,int>>> a; for(int i = 0; i < n; i ++) { int d, x, y; cin >> d >> x >> y; a.push_back({d, {y, x}}); } vector <int> gold(n), energy(n); gold[0] = a[0].second.second; energy[0] = a[0].second.first; for(int i = 1; i < n; i ++) { gold[i] = gold[i - 1] + a[i].second.second; energy[i] = energy[i - 1] + a[i].second.first; } int mx = 0; for(int i = 0; i < n; i ++) { mx = max(mx, a[i].second.second); for(int j = i + 1; j < n; j ++) { if(a[i].first + energy[j] >= a[j].first + (i-1<0?0:energy[i-1])) { mx = max(mx, gold[j] - (i-1 < 0 ? 0 : gold[i - 1])); } // cout << cursum << " " << curgold << "\n"; } } cout << mx; return false; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...