Submission #90616

#TimeUsernameProblemLanguageResultExecution timeMemory
90616Harvey_RollensDivide and conquer (IZhO14_divide)C++17
17 / 100
36 ms2924 KiB
#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define st string
#define fr first
#define se second

const ll mod=1e9+7;

using namespace std;

ll p[100100], s[100100], n, a[100100];

int main()
{
    //freopen("1.txt", "r", stdin);
    //freopen("1.txt", "w", stdout);
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    cout.tie(NULL);

    ll ans=0;
    cin>>n;

    for(ll i=1; i<=n; i++)
    {
        ll g, e;
        cin>>a[i]>>g>>e;

        p[i]=e+p[i-1];
        s[i]=g+s[i-1];
        ans=max(ans, g);
    }

    ll l=1, r=1;
    while(l<=n)
    {
        while(p[r+1]-p[l-1]>=a[r+1]-a[l] && r+1<=n)
            r++;

        //if(r==n && s[r]-s[l-1]<ans) break;
        ans=max(ans, s[r]-s[l-1]);

        l++;
    }

    cout<<ans;
    return 0;
}
/*
4 6 3
1 2 1
2 4 1
2 3 2
3 1 4
1 4 3
3 4 10
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...