Submission #1350408

#TimeUsernameProblemLanguageResultExecution timeMemory
1350408bbbirosArt Exhibition (JOI18_art)C++20
0 / 100
0 ms344 KiB
#include <iostream>
#include <vector>
#include <cstring>
#include <string>
#include <iomanip>
#include <algorithm>
#include <fstream>
#include <cmath>
#include <unordered_set>
#include <set>
#include <unordered_map>
#include <map>
#include <deque>
#define ll long long
#define X first
#define Y second
#define endl '\n'
using namespace std;

void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
}
int n;
const int MAXN = 500100;
pair<ll, ll> a[MAXN];
ll mx = 0;
void read()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> a[i].X >> a[i].Y;
        mx = max(mx, a[i].Y);
    }
    sort(a + 1, a + 1 + n);
}
void solve()
{
    int l = 1;
    ll sum = 0;
    for (int r = 1; r <= n; r++)
    {
        sum+=a[r].Y;
        while(l<r&&(a[l+1].X-a[l].X)>a[l].Y)
        {
            sum-=a[l].X;
            l++;
        }
        mx=max(mx,sum-(a[r].X-a[l].X));
    }
}
signed main()
{
    speed();
    read();
    solve();
    cout<<mx<<endl;
    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...