Submission #100956

#TimeUsernameProblemLanguageResultExecution timeMemory
100956AbduMDivide and conquer (IZhO14_divide)C++14
17 / 100
45 ms1536 KiB
/// In the name of GOD
/// I love my MOTHER
/// Only GOLD

#include <bits/stdc++.h>

#define all(x)                  x.begin(), x.end()
#define sz(s)                   (ll)(s.size())
#define pb                      push_back()
#define pf                      push_front()
#define ppb                     pop_back()
#define ppf                     pop_front()
#define F                       first
#define S                       second
#define MP                      make_pair
#define ort1                    exit(0);
#define nl                      "\n"

#define rep(i, l, r)            for(int i = (l); i <= (r); ++i)
#define per(i, l, r)            for(int i = (l); i >= (r); i--)
#define TL                      clock() / (double)CLOCKS_PER_SEC
#define NFS                     ios_base :: sync_with_stdio(0), cin.tie(0), cout.tie(0);

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef double db;

const double pi = acos(-1.0);
const double eps = 1e-7;
const long long INF = 1e18 + 1;
const int inf = 2e9 + 777;
const int mod = 1e9 + 7;
const int N = 5e5 + 7;

int n;
int a[N];
int g[N];
int e[N];
ll ans;

int main(){
    NFS
    #ifdef ioi
        freopen("in.txt", "r", stdin);
    #else
        //freopen("bank.in", "r", stdin);
            //freopen("bank.out", "w", stdout);
    #endif

    cin >> n;
    rep(i, 1, n){
        cin >> a[i] >> g[i] >> e[i];
    }
    
    if(n == 1){
        if(e[1]) cout << g[1];
        else cout << 0;
        ort1
    }

    ll gold = g[1];
    ll energy = e[1];
    int l = a[1];
    rep(i, 2, n){
        energy += e[i];
        if(a[i] - l + 1 <= energy) gold += g[i];
        else{
            ans = max(ans, gold);
            gold = g[i];
            energy = e[i];
            l = a[i];
        }
    }

    ans = max(ans, gold);

    cout << ans;

    ort1
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...