제출 #58624

#제출 시각아이디문제언어결과실행 시간메모리
58624aomeHoliday (IOI14_holiday)C++17
23 / 100
5033 ms1636 KiB
#include "holiday.h"

#include <bits/stdc++.h>

using namespace std;

long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
	int cur = d;
	long long res = 0;
	long long sum = 0;
	priority_queue< int, vector<int>, greater<int> > pq;
	for (int i = start; i >= 0; --i) {
		cur = d - (start - i);
		sum = 0;
		for (int j = i; j < n; ++j) {
			sum += attraction[j], pq.push(attraction[j]);
			while (pq.size() && pq.size() > cur) {
				sum -= pq.top(), pq.pop();
			}
			res = max(res, sum);
			cur--;			
		}
		while (pq.size()) pq.pop();
	}
	if (start) {
		for (int i = start; i < n; ++i) {
			cur = d - (i - start);
			sum = 0;
			for (int j = i; j >= 0; --j) {
				sum += attraction[j], pq.push(attraction[j]);
				while (pq.size() && pq.size() > cur) {
					sum -= pq.top(), pq.pop();
				}
				res = max(res, sum);
				cur--;			
			}
			while (pq.size()) pq.pop();
		}
	}
	return res;
}

컴파일 시 표준 에러 (stderr) 메시지

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:17:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    while (pq.size() && pq.size() > cur) {
                        ~~~~~~~~~~^~~~~
holiday.cpp:31:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (pq.size() && pq.size() > cur) {
                         ~~~~~~~~~~^~~~~
grader.cpp: In function 'int main()':
grader.cpp:7:12: warning: variable 'n_s' set but not used [-Wunused-but-set-variable]
     int i, n_s;
            ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...