Submission #122160

#TimeUsernameProblemLanguageResultExecution timeMemory
122160brcodeHoliday (IOI14_holiday)C++14
23 / 100
5094 ms2004 KiB
#include <iostream> #include <queue> #include <holiday.h> using namespace std; long long int findMaxAttraction(int n, int start, int d,int attraction[]){ if(start == 0){ priority_queue<int> pq; int sum = 0; int ans = 0; for(int i=0;i<n;i++){ pq.push(-1*attraction[i]); sum+=attraction[i]; while(pq.size()+i>d){ int hold = pq.top(); sum+=hold; pq.pop(); } ans= max(sum,ans); } return ans; }else{ int ans = 0; for(int l=0;l<=start;l++){ priority_queue<int> pq; int sum = 0; for(int i=l;i<start;i++){ pq.push(-1*attraction[i]); sum+=attraction[i]; } for(int r=start;r<n;r++){ if(r-l>d){ break; } pq.push(-1*attraction[r]); sum+=attraction[r]; while(pq.size()+(r-l)+min(start-l,r-start)>d){ int hold = pq.top(); sum+=hold; pq.pop(); } ans = max(ans,sum); } } return ans; } }

Compilation message (stderr)

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:14:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             while(pq.size()+i>d){
                   ~~~~~~~~~~~^~
holiday.cpp:39:59: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 while(pq.size()+(r-l)+min(start-l,r-start)>d){
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...