Submission #334204

#TimeUsernameProblemLanguageResultExecution timeMemory
334204shahriarkhanArt Exhibition (JOI18_art)C++14
100 / 100
261 ms25064 KiB
#include<bits/stdc++.h>
using namespace std ;

const long long INF = 1e18 ;

int main()
{
    int n ;
    scanf("%d",&n) ;
    vector<pair<long long , long long> > v ;
    v.push_back({0,0}) ;
    for(int i = 1 ; i <= n ; ++i)
    {
        long long a , b ;
        scanf("%lld%lld",&a,&b) ;
        v.push_back({a,b}) ;
    }
    sort(v.begin(),v.end()) ;
    long long pref[n+1] = {0} , ans = -INF , mn = v[1].first ;
    for(int i = 1 ; i <= n ; ++i)
    {
        pref[i] = pref[i-1] + v[i].second ;
    }
    for(int i = 1 ; i <= n ; ++i)
    {
        ans = max(ans,pref[i] - v[i].first + mn) ;
        mn = max(mn,-pref[i] + v[i+1].first) ;
    }
    printf("%lld\n",ans) ;
    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]
    9 |     scanf("%d",&n) ;
      |     ~~~~~^~~~~~~~~
art.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   15 |         scanf("%lld%lld",&a,&b) ;
      |         ~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...