Submission #1278919

#TimeUsernameProblemLanguageResultExecution timeMemory
1278919stanwaibbangeHoliday (IOI14_holiday)C++20
0 / 100
11 ms1220 KiB
#include"holiday.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int INF = numeric_limits<int>::max() / 2;

long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
    ll out = 0;
    ll cur = 0;
    ll get = d+1;
    ll size = 0;
    ll i = 0;
    priority_queue<int, std::vector<int>, std::greater<int>> pq{};
    while(get>size+1){
        pq.push(attraction[i]);
        cur += attraction[i];
        --get;
        ++size;
        ++i;
    }
    if (get>size&&i<n){
        pq.push(attraction[i]);
        cur += attraction[i];
        cur -= pq.top();
        pq.pop();
        --get;
        ++i;

    }
    out = cur;
    while(i<n){
        pq.push(attraction[i]);
        cur += attraction[i];
        cur -= pq.top();
        pq.pop();
        if (pq.empty()){
            break;
        }
        cur -= pq.top();
        pq.pop();
        out = max(out,cur);
        --get;
        --size;
        ++i;
    }
    return out;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...