Submission #1283057

#TimeUsernameProblemLanguageResultExecution timeMemory
1283057repmannHoliday (IOI14_holiday)C++20
47 / 100
5085 ms1728 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; int N, K; int A[100000]; long long int findMaxAttraction(int n, int index, int k, int a[]) { N = n; K = k; for(int i = 0; i < N; i++) A[i] = a[i]; ll sol = 0; for(int i = index; i >= 0; i--) { if(K < (index - i)) break; priority_queue <int> H; ll sum = 0; for(int j = index; j >= i; j--) {H.push(-A[j]); sum += A[j];} while(H.size() && (H.size() > (K - (index - i)))) {sum += H.top(); H.pop();} if(!H.size()) break; sol = max(sum, sol); for(int j = index + 1; H.size() && (j < N); j++) { if(K < min(index - i + j - i, j - index + j - i)) break; H.push(-A[j]); sum += A[j]; while(H.size() && (H.size() > (K - min(index - i + j - i, j - index + j - i)))) {sum += H.top(); H.pop();} if(!H.size()) break; sol = max(sum, sol); } } return sol; } //int main() //{ // int n, k, index; // cin >> n >> k >> index; // int a[n]; // for(int i = 0; i < n; i++) cin >> a[i]; // cout << findMaxAttraction(n, index, k, a) << '\n'; //}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...