Submission #1154320

#TimeUsernameProblemLanguageResultExecution timeMemory
1154320hiderrRice Hub (IOI11_ricehub)C++20
17 / 100
0 ms328 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; #define loop(i, a, b) for(int i = a; i <= b; i++) #define loop_rev(i, a, b) for(int i = a; i >= b; i--) #define all(x) x.begin(), x.end() #define sz(x) int(x.size()) #define eb emplace_back #define pb push_back using ll = long long; #define int ll signed besthub(signed n, signed max_x, signed x[], int B) { int l = 0, r = (-1), ind = (-1), res = 0; int median = 0, sum_r = 0, sum_l = 0, cnt_l = 0, cnt_r = 0; auto is_cool = [&]() { int cost_l = cnt_l * x[median] - sum_l; int cost_r = sum_r - cnt_r * x[median]; int cost = cost_l + cost_r; return (cost < B); }; auto fix_median = [&]() { cnt_l = (r - l + 2) / 2; cnt_r = (r - l + 1) - cnt_l; median = l + cnt_l - 1; while(ind < median) { ++ind; sum_r -= x[ind]; sum_l += x[ind]; } }; auto add = [&]() { sum_r += x[++r]; fix_median(); }; auto rem = [&]() { sum_l -= x[l++]; fix_median(); }; while(l < n) { if(is_cool()) { res = max(res, (r - l + 1)); if(r < n-1) { add(); } else { break; } } else { rem(); } } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...