Submission #1163941

#TimeUsernameProblemLanguageResultExecution timeMemory
1163941jj_masterArt Exhibition (JOI18_art)C++20
50 / 100
1093 ms8264 KiB
// JOI 2018
#include <bits/stdc++.h>
#include <climits>
using namespace std;

#define int int64_t

struct art {
	int si;
	int val;
	bool operator<(const art& other) const {
		if(si == other.si)
			return val > other.val;
		return si < other.si;
	}
};

void sol()
{
	int n;
	cin >> n;
	vector<art> a(n);
	for(int i = 0; i < n; i++) {
		cin >> a[i].si >> a[i].val;
	}
	sort(a.begin(), a.end());
	int max_score = INT_MIN;
	for(int i = 0; i < n; i++) {
		int tot_val = 0;
		int min_si = a[i].si;
		for(int j = i; j < n; j++) {
			int max_si = a[j].si;
			tot_val += a[j].val;
			int score = tot_val - (max_si - min_si);
			max_score = max(max_score, score);
		}
	}
	cout << max_score << '\n';
}

int32_t main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	sol();
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...