제출 #1283053

#제출 시각아이디문제언어결과실행 시간메모리
1283053repmann휴가 (IOI14_holiday)C++20
23 / 100
11 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; auto Try = [&]() { for(int i = index; i >= 0; i--) { 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();} sol = max(sum, sol); for(int j = index + 1; H.size() && (j < N); j++) { H.push(-A[j]); sum += A[j]; while(H.size() && (H.size() > (K - (index - i + j - i)))) {sum += H.top(); H.pop();} sol = max(sum, sol); } } return; }; Try(); if(N > 3000) return sol; reverse(A, A + N); index = N - index - 1; Try(); 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...