Submission #223571

#TimeUsernameProblemLanguageResultExecution timeMemory
223571Ruxandra985Art Exhibition (JOI18_art)C++14
100 / 100
300 ms20984 KiB
#include <bits/stdc++.h>

using namespace std;
pair <long long , long long> v[500010];
int main()
{
    FILE *fin = stdin;
    FILE *fout = stdout;
    int n , i;
    long long curr , sol;
    fscanf (fin,"%d",&n);
    for (i = 1 ; i <= n ; i++){
        fscanf (fin,"%lld%lld",&v[i].first,&v[i].second);
    }

    sort (v + 1 , v + n + 1);

    curr = sol = 0;

    for (i = 1 ; i <= n ; i++){
        if (curr >= 0)
            curr += v[i].first - v[i + 1].first + v[i].second;
        else curr = v[i].first - v[i + 1].first + v[i].second;

        sol = max(sol , v[i].second);
        if (i + 1 <= n)
            sol = max(sol , curr + v[i + 1].second);
    }

    fprintf (fout,"%lld",sol);

    return 0;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:11:12: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf (fin,"%d",&n);
     ~~~~~~~^~~~~~~~~~~~~
art.cpp:13:16: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf (fin,"%lld%lld",&v[i].first,&v[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...