Submission #398077

#TimeUsernameProblemLanguageResultExecution timeMemory
398077prvocisloHoliday (IOI14_holiday)C++17
23 / 100
41 ms5360 KiB
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
typedef long long ll;
using namespace std;

void upd(ll& a, const ll& b) { a = max(a, b); }
multiset<int> best;
ll sum = 0;
void erase(int x)
{
	best.erase(best.find(x)); sum -= x;
}
void insert(int x)
{
	best.insert(x); sum += x;
}
ll findMaxAttraction(int n, int s, int d, int a[])
{
	ll ans = 0;
	for (int r = 0; r < n; r++)
	{
		int siz = d - r;
		if (siz < 0) break;
		insert(a[r]);
		while (best.size() > siz) erase(*best.begin());
		ans = max(ans, sum);
	}
	return ans;
}

Compilation message (stderr)

holiday.cpp: In function 'll findMaxAttraction(int, int, int, int*)':
holiday.cpp:27:22: warning: comparison of integer expressions of different signedness: 'std::multiset<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   27 |   while (best.size() > siz) erase(*best.begin());
      |          ~~~~~~~~~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...