제출 #1178266

#제출 시각아이디문제언어결과실행 시간메모리
1178266AlgorithmWarrior휴가 (IOI14_holiday)C++20
47 / 100
5085 ms1440 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.empty() && (int)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...