Submission #136611

#TimeUsernameProblemLanguageResultExecution timeMemory
136611miguelRice Hub (IOI11_ricehub)C++14
100 / 100
34 ms1528 KiB
#include<bits/stdc++.h> #include<ricehub.h> using namespace std; #define pb push_back #define dbg(x) cout << #x << '=' << x << '\n'; #define ll long long #define x first #define y second #define pi pair <int, int> #define pii pair <int, pi> #define vi vector <int> const ll mod = 998244353; int besthub(int n, int l, int x[], ll b){ ll s[n+1]; int ans=0; s[0]=1LL*x[0]; s[n]=1000000000000000000; for(int i=1; i<n; i++) s[i]=s[i-1]+x[i]; for(int i=0; i<n; i++){ int l=0, r=n-i; while(r-l>1){ int mid=(l+r)>>1; int start=i, e=i+mid; int xd=(start+e)/2; if(start==0){ if((1LL*x[xd]*(2*xd-start-e)-1LL*s[xd-1]+1LL*s[e]-1LL*s[xd])<=b) l=mid; else r=mid; } else if((1LL*x[xd]*(2*xd-start-e)-1LL*s[xd-1]+1LL*s[start-1]+1LL*s[e]-1LL*s[xd])<=b) l=mid; else r=mid; } ans=max(ans, l); } return ans+1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...