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...