Submission #765590

#TimeUsernameProblemLanguageResultExecution timeMemory
765590LeaRouseDivide and conquer (IZhO14_divide)C++14
0 / 100
1 ms212 KiB
#include<bits/stdc++.h>
#define fastio ios_base::sync_with_stdio(0); cin.tie(0);
#define ll long long
#define ff first
#define ss second
using namespace std;
const int MAX = 5e3+5;
int A[MAX],B[MAX],C[MAX];
pair<int,int>dp[(1<<21)+5];
void go(){
    int n;  cin>>n;
    for(int i=0;i<n;i++){
        cin>>A[i]>>B[i]>>C[i];
    }
    ll ans=0;
    for(int i=0;i<n;i++){
        int pos=A[i];
        ll sum=B[i];
        int ener=C[i];
        for(int j=i+1;j<n;j++){
            if(ener+C[j]>=abs(pos-A[j])){
                ener+=C[j];
                ener-=abs(A[i]-A[j]);
                sum+=B[j];
                pos=A[j];
            }
            else{
                break;
            }
        }
        ans=max(ans,sum);
    }
    cout<<ans<<endl;
}

int main(){
    fastio;
    go();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...