Submission #967979

#TimeUsernameProblemLanguageResultExecution timeMemory
967979vjudge1Art Exhibition (JOI18_art)C++17
100 / 100
153 ms22628 KiB
#include <iostream>
#include <algorithm>

using namespace std;
using ll = long long;
using pii = pair<ll, ll>;
#define fr first
#define se second
const int N = 5e5+2;

pii a[N];
ll qs[N], curr = 0ll, ans = 0ll, currmn = 1e15, currmx = -1e15, mn, mx;

int main()
{
    int n; scanf("%d", &n);
    for (int i = 1;i <= n;i++) scanf("%lld %lld", &a[i].fr, &a[i].se);
    sort(a+1, a+n+1);
    for (int i = 1; i <= n; ++i){
        mn = min(currmn, a[i].fr);
        mx = max(currmx, a[i].fr);
        if (curr + a[i].se - (mx - mn) < a[i].se){
            curr = a[i].se;
            currmn = a[i].fr;
            currmx = a[i].fr;
        }
        else{
            currmn = mn;
            currmx = mx;
            curr += a[i].se;
        }
        ans = max(ans, curr - (currmx - currmn));
    }
    printf("%lld", ans);
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:16:17: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     int n; scanf("%d", &n);
      |            ~~~~~^~~~~~~~~~
art.cpp:17:37: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |     for (int i = 1;i <= n;i++) scanf("%lld %lld", &a[i].fr, &a[i].se);
      |                                ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...