Submission #382110

#TimeUsernameProblemLanguageResultExecution timeMemory
382110mohamedsobhi777Divide and conquer (IZhO14_divide)C++14
17 / 100
1 ms364 KiB
#include <bits/stdc++.h>

using namespace std;

#define vi vector<int>
#define vll vector<ll>
#define vii vector<pair<int, int>>
#define pii pair<int, int>
#define pll pair<ll, ll>
#define loop(_) for (int __ = 0; __ < (_); ++__)
#define pb push_back
#define f first
#define s second
#define sz(_) ((int)_.size())
#define all(_) _.begin(), _.end()
#define lb lower_bound
#define ub upper_bound

using ll = long long;
using ld = long double;

const int N = 1e5 + 7;
const ll mod = 1e9 + 7;

int n;
int g[N] , e[N] ; 
int x[N] ; 

int main()
{
       ios_base::sync_with_stdio(0);
       cin.tie(0);
#ifndef ONLINE_JUDGE
#endif
       cin >> n;

       for(int i = 0 ;i < n;++ i){
              cin >> x[i] >> g[i] >> e[i] ; 
       }
       ll ans = 0 ; 
       int j = 0 ; 
       ll sum = 0 ; 
       ll gol = 0 ; 
       for(int i = 0 ;i < n ;++ i){
              sum += e[i] ;
              gol += g[i] ;
              while(sum < x[i] - x[j]){
                     gol-= g[j] ;
                     sum -= e[j ++] ;
              }
              ans = max(ans , gol) ;
       }
       cout << ans ; 
       return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...