Submission #77288

#TimeUsernameProblemLanguageResultExecution timeMemory
77288MohamedAhmed0Art Exhibition (JOI18_art)C++14
100 / 100
966 ms100600 KiB
#include <bits/stdc++.h>

using namespace std;

long long dp[500005] ;

int main()
{
    long long n ;
    scanf("%lld" , &n);
    map<long long , long long>mp ;
    for(long long i = 0 ; i < n ; ++i)
    {
        long long x , y ;
        scanf("%lld %lld" , &x , &y);
        mp[x] += y ;
    }
    vector< pair<long long , long long> >vp ;
    for(auto &i : mp)
      vp.push_back({i.first , i.second});
    long long ans = vp[0].second;
    dp[0] = vp[0].second;
    for(long long i = 1 ; i < vp.size() ; ++i)
    {
       dp[i] = max(vp[i].second , vp[i].second + dp[i-1] - (vp[i].first - vp[i-1].first));
       ans = max(ans , dp[i]);
    }
    printf("%lld\n" , ans);
    return 0 ;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:23:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(long long i = 1 ; i < vp.size() ; ++i)
                           ~~^~~~~~~~~~~
art.cpp:10:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld" , &n);
     ~~~~~^~~~~~~~~~~~~
art.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld %lld" , &x , &y);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...