# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1245048 | cokalhado | Art Exhibition (JOI18_art) | C++17 | 0 ms | 320 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 << endl;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |