Submission #260459

#TimeUsernameProblemLanguageResultExecution timeMemory
260459tbzardHoliday (IOI14_holiday)C++14
7 / 100
5015 ms1536 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<int, pii> pipii; typedef pair<pii, int> piipi; typedef pair<pii, pii> piipii; #define mp make_pair #define fi first #define se second #define all(a) (a).begin(), (a).end() #define sz(a) (int)(a).size() #define eb emplace_back ll findMaxAttraction(int n, int start, int d, int attraction[]){ long long ans = 0; for(int i=1;i<(1<<n);i++){ vector<int> b; int l = 1e9, r = 0; for(int j=0;j<n;j++){ if((i>>j)&1){ b.eb(j); l = min(l, j); r = max(r, j); } } int cost = 0; if(l <= start && start <= r) cost = min(abs(start-l + (r-l)), abs(r-start + (r-l))); else if(r <= start) cost = start-l; else cost = r-start; if(cost > d) continue; vector<int> c; for(int i=0;i<sz(b);i++){ int val = attraction[b[i]]; c.eb(val); } sort(all(c)); reverse(all(c)); ll res = 0; int cnt = 0; for(int i=0;i<sz(c);i++){ if(cnt < d-cost){ cnt++; res += c[i]; } } ans = max(ans, res); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...