Submission #1245054

#TimeUsernameProblemLanguageResultExecution timeMemory
1245054cokalhadoArt Exhibition (JOI18_art)C++17
0 / 100
0 ms320 KiB
// https://oj.uz/problem/view/JOI18_art
#include<bits/stdc++.h>
using namespace std;

#define int long long

const int inf = 1e18+10;
const int maxn = 5e5+10;
int N;
pair<int, int> q[maxn];
int ps[maxn];
int maxi[maxn];

int32_t main()
{
    freopen("art.in", "r", stdin);
    freopen("art.out", "w", stdout);
    cin >> N;
    for(int i = 1; i <= N; i++)
    {
        cin >> q[i].first >> q[i].second;
    }
    sort(q+1, q+N+1);
    q[0].first = q[1].first;
    int ans = 0;
    for(int i = 1; i <= N; i++)
    {
        ps[i] = ps[i-1]+q[i].second-(q[i].first-q[i-1].first);
        ans = max(ans, q[i].second);
    }
    for(int i = N; i > 0; i--)
    {
        maxi[i] = max(maxi[i+1], ps[i]);
    }
    ans = max(ans, maxi[1]);

    int vsum = q[1].second;
    int asum = q[1].first;
    for(int i = 2; i < N; i++)
    {
        ans = max(ans, maxi[i]-vsum+q[i].first-asum);
        vsum += q[i].second;
        asum += q[i].first;
    }
    cout << ans;
    return 0;
}

Compilation message (stderr)

art.cpp: In function 'int32_t main()':
art.cpp:16:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     freopen("art.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
art.cpp:17:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |     freopen("art.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...