Pagini recente » Cod sursa (job #2487744) | Cod sursa (job #1711266) | Cod sursa (job #3187776) | Cod sursa (job #1594985) | Cod sursa (job #2003750)
#include<bits/stdc++.h>
using namespace std;
ifstream f("grupuri.in");
ofstream g("grupuri.out");
long long n,k,v[100002],ad,nr,s[100002];
int main()
{
f>>k>>n;
for(int i=1;i<=n-k;++i)
f>>nr,ad+=nr;
for(int i=1;i<=k;++i)
f>>v[i],s[i]=v[i]+s[i-1];
int b=1;
int e=k;
int ok=1;
int sol=0;
if(ad>=v[k]*k-s[k]){
ad=ad-v[k]*k+s[k];
sol=v[k]+ad/k;
g<<sol<<'\n';
}
else
while(b!=e)
{
int m=(b+e)/2;
if(v[m]*m-s[m]<=ad && v[m+1]*(m+1)-s[m+1]>ad)
{
g<<sol+v[m]<<'\n';
return 0;
}
else
if(v[m]*m-s[m-1]<ad)
b=m+1;
else
e=m-1;
}
return 0;
}