#include <bits/stdc++.h>
#include "holiday.h"
using namespace std;
priority_queue<long long, vector <long long>, greater<long long>> q;
long long findMaxAttraction(int n, int start, int d, int attraction[]) {
long long res = 0;
for (int l = start; l >= 0; l--) {
long long sum = 0;
priority_queue<long long, vector<long long>, greater<long long>> temp;
swap(q, temp);
for (int i = l; i <= start; i++) {
q.push(attraction[i]);
sum += attraction[i];
int req = d - (start - l);
if (req <= 0) {
sum = -1;
break;
}
while (q.size() > req) {
sum -= q.top();
q.pop();
}
res = max(res, sum);
}
if (sum == -1) {
continue;
}
for (int r = start + 1; r < n; r++) {
q.push(attraction[r]);
sum += attraction[r];
int req = d - (r - l + min(start - l, r - start));
if (req <= 0) {
break;
}
while (q.size() > req) {
sum -= q.top();
q.pop();
}
res = max(res, sum);
}
}
return res;
}