제출 #1175072

#제출 시각아이디문제언어결과실행 시간메모리
1175072nrg_studio쌀 창고 (IOI11_ricehub)C++20
100 / 100
9 ms1352 KiB
#include <bits/stdc++.h> #include "ricehub.h" using namespace std; #define ll long long #define pb push_back #define pii pair<int,int> #define f first #define s second #define chmin(a, b) a = min(a,b) #define chmax(a, b) a = max(a,b) #define FOR(i, a, b) for (int i = (a); i < (b); i++) #define F0R(i, a) for (int i = 0; i < (a); i++) #define all(x) x.begin(),x.end() #define vec vector const int MAX_N = 1e5; ll ps[MAX_N+1] = {0}; int besthub(int r, int l, int x[], ll b) { for (int i=0;i<r;i++) {ps[i+1] = ps[i]+x[i];} int ans = 0; for (int i=0,ptr=0;i<r;i++) { while (ptr+1<r) { ptr++; ll med = (i+ptr)/2; ll cost = ps[ptr+1]-ps[med]-(ptr-med+1)*x[med] + (med-i)*x[med]-ps[med]+ps[i]; if (cost>b) {ptr--; break;} } ans = max(ans,ptr-i+1); } return ans; } /* int main() { ios::sync_with_stdio(false); cin.tie(0); int r, l; ll b; cin >> r >> l >> b; vec<ll> x(r); F0R(i,r) { cin >> x[i]; } for (int i=0;i<r;i++) {ps[i+1] = ps[i]+x[i];} int ans = 0; for (int i=0,ptr=0;i<r;i++) { while (ptr+1<r) { ptr++; ll med = (i+ptr)/2; ll cost = ps[ptr+1]-ps[med]-(ptr-med+1)*x[med] + (med-i)*x[med]-ps[med]+ps[i]; if (cost>b) {ptr--; break;} } ans = max(ans,ptr-i+1); } cout << ans << '\n'; } */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...