Submission #1033900

#TimeUsernameProblemLanguageResultExecution timeMemory
1033900vjudge1Art Exhibition (JOI18_art)C++17
50 / 100
37 ms9332 KiB
#include<bits/stdc++.h>
#define ll long long
#define pll pair<ll, ll>
#define fi first
#define se second
using namespace std;

const int maxn = 2e5 + 11;
int n;
pair<ll, ll>p[maxn + 3];
ll sum[maxn + 3];

bool cmp(pll a, pll b)
{
    if(a.fi == b.fi) return a.se > b.se;
    return a.fi < b.fi;
}

int main()
{
   // freopen("ARTEXHIBITION.INP", "r", stdin);
    //freopen("ARTEXHIBITION.OUT", "w", stdout);
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    cin >> n;
    for(int i = 1; i <= n; i++)
    {
        cin >> p[i].first >> p[i].second;
    }
    sort(p + 1, p + n + 1, cmp);
    ll ans = 0;
    for(int i = n - 1; i >= 1; i--)
    {
        if(p[i + 1].se >= p[i + 1].fi - p[i].fi)
        {
            p[i].se = p[i].se + p[i + 1].se - p[i + 1].fi + p[i].fi;
        }
        ans = max(ans, p[i].se);
        //cout << p[i].first << ' ' << p[i].second << '\n';
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...