Submission #96363

#TimeUsernameProblemLanguageResultExecution timeMemory
96363hugo_pmArt Exhibition (JOI18_art)C++14
100 / 100
217 ms20860 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long llg;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);

	int nbPlats;
	cin >> nbPlats;

	vector<pair<llg, llg>> plats(nbPlats);
	for (int indPlat = 0; indPlat < nbPlats; ++indPlat) {
		// Taille puis valeur
		cin >> plats[indPlat].first >> plats[indPlat].second;
	}
	// Tri par taille
	sort(plats.begin(), plats.end());

	llg curSom = 0;
	llg ans = 0;
	llg meilleurBas = 0;

	for (int indPlat = 0; indPlat < nbPlats; ++indPlat) {
		llg scoreBas = -(curSom - plats[indPlat].first);
		curSom += plats[indPlat].second;
		llg scoreHaut = curSom - plats[indPlat].first;

		if (indPlat == 0) meilleurBas = scoreBas;
		meilleurBas = max(meilleurBas, scoreBas);
		ans = max(scoreHaut+meilleurBas, ans);
	}

	cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...