제출 #424417

#제출 시각아이디문제언어결과실행 시간메모리
424417dreezy휴가 (IOI14_holiday)C++17
47 / 100
5054 ms1312 KiB
#include <bits/stdc++.h>
#include"holiday.h"
using namespace std;
#define ll long long


/***********************/


long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
	ll ans = 0;
	

	//spend right days travelling
	//visit day - right cities
	
	
	
	
	for(int left = start; left >= 0; left--){
		ll cursum = 0;
		priority_queue<int, vector<int>, greater<int>> pq;
		for(int i = left; i<start; i++){
			cursum += attraction[i];
			pq.push(attraction[i]);
			
		}
		

		for(int right = start; right <n; right++){
			cursum += attraction[right];
			pq.push(attraction[right]);
				
			
			int dist = right - left + min(start - left, right - start);
			if(d - dist <= 0) break;
			
			while(pq.size() > d - dist){
				cursum -= pq.top();
				pq.pop();
			}
			//cout << left << ", "<<right<< ": "<<dist<<", "<<cursum<<endl;
			ans = max(cursum, ans);
		}
	}
	
	
    return ans;
}
/***********************/

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

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:38:20: warning: comparison of integer expressions of different signedness: 'std::priority_queue<int, std::vector<int>, std::greater<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |    while(pq.size() > d - dist){
      |          ~~~~~~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...