# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
584829 | jack715 | Holiday (IOI14_holiday) | C++14 | 5048 ms | 812 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include"holiday.h"
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define pp pop_back
#define mp make_pair
#define bb back
#define ff first
#define ss second
using namespace std;
ll findtravel(int l, int r, int st) {
if (l >= st)
return r-st;
if (r <= st)
return st-l;
return min(abs(st-l)*2+abs(st-r), abs(st-r)*2+abs(st-l));
}
long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
ll ans = 0, D = d, travel, now;
set<int> nums;
for (int i = 0; i < n; i++) {
nums.clear(), now = 0;
for (int j = i; j < n; j++) {
nums.insert(attraction[j]), now += attraction[j];
travel = findtravel(i, j, start);
if (D-travel <= 0) continue;
while (nums.size() > D-travel)
now -= *nums.begin(), nums.erase(*nums.begin());
ans = max(ans, now);
}
}
return ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |