Submission #86062

#TimeUsernameProblemLanguageResultExecution timeMemory
86062rzbtArt Exhibition (JOI18_art)C++14
100 / 100
336 ms52992 KiB
#include <bits/stdc++.h>
#define mp make_pair
#define pb push_back
#define F first
#define S second
#define all(x) x.begin(),x.end()
#define MAXN 500005
typedef long long ll;


using namespace std;


ll n,parc[MAXN];
pair<ll,ll> niz[MAXN];


int main()
{
    scanf("%lld", &n);
    for(int i=1;i<=n;i++)
        scanf("%lld %lld", &niz[i].first,&niz[i].second);
    sort(niz+1,niz+1+n);
    ll mi=-niz[1].first,res=niz[1].second;
    parc[1]=niz[1].second;
    for(int i=2;i<=n;i++){
        parc[i]=parc[i-1]+niz[i].second;
        mi=min(mi,parc[i-1]-niz[i].first);
        res=max(res,parc[i]-niz[i].first-mi);
        //printf("   %lld %lld %lld\n",mi,res,parc[i]);
    }
    printf("%lld",res);

    return 0;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:20:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld", &n);
     ~~~~~^~~~~~~~~~~~
art.cpp:22:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld %lld", &niz[i].first,&niz[i].second);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...