Submission #972958

#TimeUsernameProblemLanguageResultExecution timeMemory
972958oyberArt Exhibition (JOI18_art)C++14
100 / 100
149 ms21228 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main() {
    int n;
    scanf("%d", &n);

    vector<pair<ll, ll>> v;
    for (int i = 0; i < n; i++) {
        ll a, b;
        scanf("%lld %lld", &a, &b);
        v.push_back(make_pair(a, b));
    }

    sort(v.begin(), v.end());

    ll score = v[0].second;
    ll best_score = score;
    for (int i = 1; i < n; i++) {
        ll dist = v[i].first - v[i-1].first;
        ll diff = v[i].second - dist;

        if (score+diff > v[i].second) {
            score += diff;
        } else {
            score = v[i].second;
        }
        if (score > best_score) {
            best_score = score;
        }
        //printf("%d\n", score);
    }

    printf("%lld\n", best_score);
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:8:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    8 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
art.cpp:13:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |         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...