Submission #585914

#TimeUsernameProblemLanguageResultExecution timeMemory
585914tamthegodDivide and conquer (IZhO14_divide)C++14
48 / 100
1087 ms3204 KiB
#include<bits/stdc++.h>

#define int long long
#define pb push_back
#define fi first
#define se second
using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;
mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
const int maxN = 1e6 + 5;
const int mod = 1e9 + 7;
const ll oo = 1e18;
int n;
int x[maxN], g[maxN], d[maxN];
pair<int, int> sum[maxN];
void ReadInput()
{
    cin >> n;
    for(int i=1; i<=n; i++)
    {
        cin >> x[i] >> g[i] >> d[i];
        sum[i] = {sum[i - 1].fi + g[i], sum[i - 1].se + d[i]};
    }
}
void Solve()
{
    int res = 0;
    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
        {
            if(sum[j].se - sum[i - 1].se >= x[j] - x[i]) res = max(res, sum[j].fi - sum[i - 1].fi);
        }
    cout << res;
}
int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    ReadInput();
    Solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...