제출 #526630

#제출 시각아이디문제언어결과실행 시간메모리
526630nitr0genDivide and conquer (IZhO14_divide)C++14
0 / 100
1 ms1368 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n, ans=0;
    cin >> n;
    int x[100000], g[100000], d[100000];
    map<int,int> prefg, prefd;

    for(int i = 0; i < n; i++) {
        cin >> x[i] >> g[i] >> d[i];
        prefg[x[i]] = g[i];
        prefd[x[i]] = d[i];
        if(i) {
            prefg[x[i]] += prefg[x[i-1]];
        }
        if(i) {
            prefd[x[i]] += prefd[x[i-1]];
        }
    }
    for(int i = 0; i < n; i++) {
        for(int j = i; j < n; j++) {
            int len = x[j] - x[i] + 1;
            int power = prefd[x[j]];
            if(i) {
                power -= prefd[i-1];
            }
            if(power < len) continue;
            int local_ans = prefg[x[j]];
            if(i) {
                local_ans -= prefg[x[i-1]];
            }
            ans = max(ans, local_ans);
        }
    }
    cout << ans << '\n';

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...