Submission #1003316

#TimeUsernameProblemLanguageResultExecution timeMemory
1003316hacizadalRice Hub (IOI11_ricehub)C++17
42 / 100
1052 ms1084 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; #define endl '\n' #define ll long long #define pll pair<ll, ll> /*ll p[5005]; pll binary1(ll b, ll e, ll num, ll money) { ll l = b, r = e, ans = 0; while (l <= r){ ll m = (l + r)/2; if (p[m] - p[b-1] - ((m-b+1)*num) <= money){ l = m + 1; ans = money - (p[m] - p[b-1] - ((m-b+1)*num)); } else { r = m - 1; } } return {ans, l-1}; } pll binary2(ll b, ll e, ll num, ll money) { ll l = b, r = e, ans = 0; while (l <= r){ ll m = (l + r)/2; if ((e-m+1)*num - (p[e] - p[m-1]) <= money){ r = m - 1; ans = money - (e-m+1)*num - (p[e] - p[m-1]); } else { l = m + 1; } } return {ans, r+1}; }*/ int besthub(int n, int l, int a[], long long b) { /*for (ll i = 0; i<n; i++){ p[i+1] = p[i] + a[i]; }*/ ll mx = 0; for (ll i = 0; i<n; i++){ priority_queue<ll, vector<ll>, greater<ll>>pq; for (ll j = 0; j<i; j++){ pq.push(a[i] - a[j]); } for (ll j = i; j<n; j++){ pq.push(a[j] - a[i]); } ll sum = 0, cnt = 0; while (pq.size()){ ll x = pq.top(); pq.pop(); sum += x; cnt++; if (sum > b){ sum -= x; cnt--; break; } } mx = max(mx, cnt); } return mx; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...