Submission #1147832

#TimeUsernameProblemLanguageResultExecution timeMemory
1147832LuvidiHoliday (IOI14_holiday)C++20
24 / 100
5093 ms1400 KiB
#include"holiday.h"
#include <bits/stdc++.h>
using namespace std;

long long int findMaxAttraction(int n, int s, int d, int a[]) {
    long long ans=0;
    for(int i=s;i<n&&i-s<=d;i++){
        multiset<long long> c;
        long long sum=0;
        for(int j=s+1;j<=i;j++){
            c.insert(a[j]);
            sum+=a[j];
        }
        while(c.size()+i-s>d){
            sum-=*c.begin();
            c.erase(c.find(*c.begin()));
        }
        for(int j=s;j>-1&&min(i-s,s-j)+i-j<=d;j--){
            c.insert(a[j]);
            sum+=a[j];
            while(c.size()+min(i-s,s-j)+i-j>d){
                sum-=*c.begin();
                c.erase(c.find(*c.begin()));
            }
            ans=max(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...