Submission #1355749

#TimeUsernameProblemLanguageResultExecution timeMemory
1355749HossamHero7Holiday (IOI14_holiday)C++20
7 / 100
5092 ms1996 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#include"holiday.h"
// #ifndef ONLINE_JUDGE
// #include "grader.cpp"
// #endif
const int N = 1e5 + 5;
ll c[N];
ll cost(int l,int r,int d){
    vector<int> v;
    for(int i=l;i<=r;i++) v.push_back(c[i]);
    sort(v.rbegin(),v.rend());
    ll ret = 0;
    for(int i=0;i<min((int)v.size(),d);i++) ret += v[i];
    return ret;
}
long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
    for(int i=0;i<n;i++) c[i] = attraction[i];
    ll ans = 0;
    int prv = 0;
    for(int l=0;l<n;l++){
        pair<ll,ll> mx{0,0};
        for(int r=l;r<n;r++){
            int rem = d - (min(abs(l-start),abs(r-start))+r-l);
            mx = max(mx , make_pair(cost(l,r,rem),(ll)r));
        }
        ans = max(ans , mx.first);
        // assert(mx.second>=prv);
        prv = mx.second;
    }
    // cout<<endl;
    return ans;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...