Submission #1228999

#TimeUsernameProblemLanguageResultExecution timeMemory
1228999adadArt Exhibition (JOI18_art)C++20
100 / 100
108 ms12112 KiB
#include <bits/stdc++.h>
#define TASK ""
#define MASK(i) (1<<(i))
#define BIT(x, i) (((x)>>(i))&1)
#define int long long
#define fi   first
#define se   second
using namespace std;
const long long INF = 1e17, MOD = 1e9 + 7, maxN = 5e5 + 5;

int n, p[maxN];
pair<int, int> x[maxN];

signed main() {
    if (fopen(TASK ".INP", "r")) {
        freopen(TASK ".INP", "r", stdin);
        freopen(TASK ".OUT", "w", stdout);
    }
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> n;
    for(int i = 1; i <= n; i ++) cin >> x[i].fi >> x[i].se;
    sort(x + 1, x + n + 1);
    p[1] = x[1].se;
	for(int i = 2; i <= n; i ++) p[i] = p[i - 1] + x[i].se;
	int maa = -INF, res = -INF;
	// p[r] - p[l - 1] - x[r].fi + x[l].fi
	// (p[r] - x[r].fi) + (x[l].fi - p[l - 1])
	for(int i = 1; i <= n; i ++) {
		maa = max(maa, x[i].fi - p[i - 1]);
		res = max(res, maa + p[i] - x[i].fi);
	}
	cout << res;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:16:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |         freopen(TASK ".INP", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
art.cpp:17:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |         freopen(TASK ".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...