Submission #1252020

#TimeUsernameProblemLanguageResultExecution timeMemory
1252020kitsuneRice Hub (IOI11_ricehub)C++20
100 / 100
8 ms1864 KiB
#include "ricehub.h" #include <bits/stdc++.h> /// kitsune using namespace std; #define fi first #define se second #define mp make_pair //#define int long long #define sz(x) (int)(x).size() #define all(x) (x).begin(), (x).end() #define rep(i, l, r) for (int i = (int)(l); i <= (int)(r); i++) #define per(i, r, l) for (int i = (int)(r); i >= (int)(l); i--) typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; template<typename _Tp> bool minimize(_Tp& __a, const _Tp& __b) { if (__a > __b) { __a = __b; return true; } return false; } template<typename _Tp> bool maximize(_Tp& __a, const _Tp& __b) { if (__a < __b) { __a = __b; return true; } return false; } const int siz = 5e6 + 2; const int SIZ = 1e6 + 2; const int mod = 1e9 + 7; const int maxx = 2e9; const ll MAXX = 1e18; const string file = "1"; int a[siz]; ll psum[siz]; ll eval(int l, int r) { int m = (l + r) / 2; ll lhs = (m - l + 1) * (ll)a[m] - (psum[m] - psum[l - 1]); ll rhs = (psum[r] - psum[m]) - (r - m) * (ll)a[m]; return lhs + rhs; } int besthub(int n, int l, int x[], long long v) { rep (i, 1, n) { a[i] = x[i - 1]; psum[i] = psum[i - 1] + a[i]; } int ans = 0; for (int l = 1, r = 1; r <= n; r++) { while (eval(l, r) > v) { l++; } maximize(ans, r - l + 1); } 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...