Submission #100956

# Submission time Handle Problem Language Result Execution time Memory
100956 2019-03-15T11:50:50 Z AbduM Divide and conquer (IZhO14_divide) C++14
17 / 100
45 ms 1536 KB
/// 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 time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 2 ms 384 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 3 ms 384 KB Output is correct
8 Correct 2 ms 384 KB Output is correct
9 Correct 2 ms 384 KB Output is correct
10 Correct 2 ms 384 KB Output is correct
11 Correct 2 ms 384 KB Output is correct
12 Correct 3 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Incorrect 2 ms 384 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 488 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
4 Correct 16 ms 896 KB Output is correct
5 Correct 21 ms 988 KB Output is correct
6 Correct 45 ms 1476 KB Output is correct
7 Correct 30 ms 1528 KB Output is correct
8 Correct 31 ms 1536 KB Output is correct
9 Correct 36 ms 1532 KB Output is correct
10 Incorrect 32 ms 1528 KB Output isn't correct
11 Halted 0 ms 0 KB -