Submission #219625

#TimeUsernameProblemLanguageResultExecution timeMemory
219625MKopchevArt Exhibition (JOI18_art)C++14
100 / 100
283 ms24880 KiB
#include<bits/stdc++.h>
using namespace std;
const int nmax=5e5+42;
int n;
pair<long long,long long> inp[nmax];
long long pref[nmax];
int main()
{
    scanf("%i",&n);
    for(int i=1;i<=n;i++)scanf("%lld%lld",&inp[i].first,&inp[i].second);
    sort(inp+1,inp+n+1);

    for(int i=1;i<=n;i++)pref[i]=pref[i-1]+inp[i].second;

    long long ret=0,MX=-1e18;

    for(int i=1;i<=n;i++)
    {
        MX=max(MX,inp[i].first-pref[i-1]);
        ret=max(ret,pref[i]-inp[i].first+MX);
    }

    printf("%lld\n",ret);
    return 0;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:9:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%i",&n);
     ~~~~~^~~~~~~~~
art.cpp:10:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i=1;i<=n;i++)scanf("%lld%lld",&inp[i].first,&inp[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...