Submission #699663

#TimeUsernameProblemLanguageResultExecution timeMemory
699663Galal012Art Exhibition (JOI18_art)C++17
100 / 100
201 ms27792 KiB
#include <bits/stdc++.h>
#define IOS ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define int long long
using namespace std;
int n, ans = 0, dp[500000];
pair <int, int> pr[500000];
int solve(int i)
{
    if (i == 0)
        return pr[0].second;
    if (~dp[i])
        return dp[i];
    return dp[i] = max(pr[i].second, solve(i-1)+pr[i-1].first+pr[i].second-pr[i].first);
}
signed main()
{
    IOS;
    memset(dp, -1, sizeof dp);
    cin >> n;
    for (int i = 0; i < n; i++)
        cin >> pr[i].first >> pr[i].second;
    sort(pr, pr+n);
    for (int i = n-1; i >= 0; i--)
        ans = max(ans, solve(i));
    cout << ans;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...