Submission #86619

#TimeUsernameProblemLanguageResultExecution timeMemory
866191KhanDivide and conquer (IZhO14_divide)C++14
17 / 100
166 ms3036 KiB
// In the name of GOD #include <bits/stdc++.h> using namespace std; #define good exit(0); #define nl endl #define ios ios_base :: sync_with_stdio(0), cin.tie(0), cout.tie(0); #define sz(s) (int)s.size() #define all(s) s.begin(), s.end() #define pb push_back #define bb begin() #define ee end() #define ff first #define ss second #define ll long long #define db double #define pii pair<int, int> const int N = 1e5 + 55; const int M = 1e9 + 7; int n, m; ll a[N], b[N], c[N]; ll ans; int main(){ cin >> n; for(int i = 1; i <= n; ++i){ ll q, w, e; cin >> q >> w >> e; a[i] = q; b[i] = b[i - 1] + w; c[i] = c[i - 1] + e; } for(int i = 1; i <= n; ++i){ ans = max(ans, b[i] - b[i - 1]); int l = i + 1, r = n; while(l <= r){ int m = (l + r) / 2; if(a[m] - a[i] <= c[m] - c[i -1]){ ans = max(ans, b[m] - b[i - 1]); l = m + 1; } else{ r = m - 1; } } } cout << ans << nl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...