Submission #739199

#TimeUsernameProblemLanguageResultExecution timeMemory
739199NeroZeinHoliday (IOI14_holiday)C++17
23 / 100
33 ms6604 KiB
#include"holiday.h"
#include <bits/stdc++.h>
using namespace std; 

const int N = 100005;

int n, d, s;
int a[N], val[N]; 

long long int findMaxAttraction(int n_, int start_, int d_, int attraction[]) {
	n = n_;
	d = d_; 
	s = start_; 
	for (int i = 0; i < n; ++i) {
		a[i] = attraction[i]; 
	}
	long long cur = 0;  
	multiset<int> se; 
	auto add = [&](int x) {
		se.insert(x); 
		cur += x; 
	}; 
	auto Shrink = [&](int sz) {
		while ((int) se.size() > sz) {
			cur -= *se.begin(); 
			se.erase(se.begin()); 
		}
	};
	long long ans = 0;
	for (int i = 0; i < min(n, d); ++i) {
		add(a[i]); 
		Shrink(d - i); 
		ans = max(ans, cur); 
	}
	return ans; 
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...