Submission #1178264

#TimeUsernameProblemLanguageResultExecution timeMemory
1178264AlgorithmWarriorHoliday (IOI14_holiday)C++20
23 / 100
12 ms1220 KiB
#include <bits/stdc++.h>
#include "holiday.h"

using namespace std;

void maxself(long long& x,long long val){
    if(x<val)
        x=val;
}

long long int findMaxAttraction(int n, int start, int d, int attraction[]){
    long long ans=0;
    int i,j;
    for(i=start;i>=0;--i){
        priority_queue<int,vector<int>,greater<int>>pq;
        long long sum=0;
        for(j=start-1;j>=i;--j){
            pq.push(attraction[j]);
            sum+=attraction[j];
        }
        for(j=start;j<n;++j){
            pq.push(attraction[j]);
            sum+=attraction[j];
            int drum1=start-i;
            int drum2=j-start;
            int drum=((drum1<=drum2)?2*drum1+drum2:2*drum2+drum1);
            int ramas=d-drum;
            while(pq.size()>ramas){
                sum-=pq.top();
                pq.pop();
            }
            maxself(ans,sum);
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...