Submission #309072

#TimeUsernameProblemLanguageResultExecution timeMemory
309072talant117408Divide and conquer (IZhO14_divide)C++17
17 / 100
1 ms384 KiB
/* Code written by Talant I.D. */ #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair <int, int> pii; typedef tuple <int, int, int> tiii; #define precision(n) fixed << setprecision(n) #define pb push_back #define lb lower_bound #define ub upper_bound #define mp make_pair #define mt make_tuple #define mod (int)1e9+7 #define eps (double)1e-9 #define PI 2*acos(-0.0); #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() #define do_not_disturb ios::sync_with_stdio(0);cin.tie(0); #define curMod 998244353 inline bool isvowel(char ch){ ch = tolower(ch); return (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u'); } bool isprime(int n){ if(n < 2 || (n % 2 == 0 && n != 2)) return false; for(int i = 3; i*i <= n; i += 2) if(n % i == 0) return false; return true; } int main(){ do_not_disturb ll n, i, mx = 0ll, l = 1ll, r = 1ll; cin >> n; vector <ll> en(n+1), gold(n+1), pos(n+1); en[0] = gold[0] = 0ll; for(i = 1; i <= n; i++){ cin >> pos[i] >> gold[i] >> en[i]; } for(i = 1; i <= n; i++){ en[i] += en[i-1]; gold[i] += gold[i-1]; } while(r <= n){ if(en[r]-en[l-1] >= abs(pos[r]-pos[l])){ mx = max(mx, gold[r]-gold[l-1]); r++; } else{ l++; if(r < l) r++; } } cout << mx; return 0; } // What is to be written here?
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...