Submission #210031

#TimeUsernameProblemLanguageResultExecution timeMemory
210031SamAndArt Exhibition (JOI18_art)C++17
100 / 100
306 ms24740 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 500005;
struct ban
{
    long long a;
    int b;
};
bool operator<(const ban& a, const ban& b)
{
    return a.a < b.a;
}

int n;
ban a[N];
long long p[N];

int main()
{
    scanf("%d", &n);
    for (int i = 1; i <= n; ++i)
        scanf("%lld%d", &a[i].a, &a[i].b);
    sort(a + 1, a + n + 1);
    for (int i = 1; i <= n; ++i)
        p[i] = p[i - 1] + a[i].b;
    long long maxu = -p[1 - 1] + a[1].a;
    long long ans = a[1].b;
    for (int i = 2; i <= n; ++i)
    {
        maxu = max(maxu, -p[i - 1] + a[i].a);
        ans = max(ans, p[i] - a[i].a + maxu);
    }
    printf("%lld\n", ans);
    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("%d", &n);
     ~~~~~^~~~~~~~~~
art.cpp:22:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld%d", &a[i].a, &a[i].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...