Submission #15706

# Submission time Handle Problem Language Result Execution time Memory
15706 2015-07-16T02:14:02 Z gs14004 Holiday (IOI14_holiday) C++14
47 / 100
5000 ms 2644 KB
#include"holiday.h"
#include <cstdio>
#include <queue>
using namespace std;
typedef long long lint;
priority_queue<int, vector<int>, greater<int> > pq;

int opt[100005];

long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
	lint ret = 0;
	int beforeMax = 0;
	for(int i=0; i<=start; i++){
		lint cret = 0;
		lint pcret = 0;
		int pos = 0;
		for(int j=i; j<start; j++){
			pq.push(attraction[j]);
			cret += attraction[j];
		}
		for(int j=start; j<n; j++){
			pq.push(attraction[j]);
			cret += attraction[j];
			while(!pq.empty() && (int)pq.size() > d - (j - i + min(j - start, start - i) )){
				cret -= pq.top();
				pq.pop();
			}
			if(j >= beforeMax && cret > pcret){
				pcret = cret;
				beforeMax = j;
			}
		}
		while(!pq.empty()) pq.pop();
		cret = 0;
		for(int j=i; j<=beforeMax; j++){
			pq.push(attraction[j]);
			cret += attraction[j];
			while(!pq.empty() && j >= start && (int)pq.size() > d - (j - i + min(j - start, start - i) )){
				cret -= pq.top();
				pq.pop();
			}
		}
		ret = max(ret, cret);
		while(!pq.empty()) pq.pop();
	}
	return ret;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1864 KB Output is correct
2 Correct 0 ms 1872 KB Output is correct
3 Correct 0 ms 1868 KB Output is correct
4 Correct 0 ms 1872 KB Output is correct
5 Correct 0 ms 1864 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 31 ms 2640 KB Output is correct
2 Correct 16 ms 2644 KB Output is correct
3 Correct 33 ms 2640 KB Output is correct
4 Correct 21 ms 2640 KB Output is correct
5 Correct 34 ms 2252 KB Output is correct
6 Correct 11 ms 2000 KB Output is correct
7 Correct 20 ms 2256 KB Output is correct
8 Correct 19 ms 2252 KB Output is correct
9 Correct 7 ms 2000 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 787 ms 1868 KB Output is correct
2 Correct 516 ms 1868 KB Output is correct
3 Correct 617 ms 1872 KB Output is correct
4 Correct 314 ms 1864 KB Output is correct
5 Correct 526 ms 1864 KB Output is correct
6 Correct 4 ms 1868 KB Output is correct
7 Correct 10 ms 1868 KB Output is correct
8 Correct 24 ms 1864 KB Output is correct
9 Correct 31 ms 1872 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 5000 ms 2640 KB Program timed out
2 Halted 0 ms 0 KB -