Pagini recente » Cod sursa (job #3293748) | Cod sursa (job #306326) | Cod sursa (job #1236205) | Cod sursa (job #1330726) | Cod sursa (job #2349866)
#include <iostream>
#include <stdio.h>
using namespace std;
int v[100001];
int main() {
FILE *fin, *fout;
int n, k, i, j, x;
long long sum=0, mijl, dr, stg;
fin = fopen("grupuri.in", "r");
fout = fopen("grupuri.out", "w");
fscanf(fin,"%d%d", &k, &n);
for(i=1;i<=n;i++)
fscanf(fin,"%d", &v[i]);
stg=0;
dr=1000000001;
while(dr-stg>1){
i=n;
mijl=(dr+stg)/2;
sum=0;
for(i=n;i>=1&&v[i]>=mijl;i--) sum+=1L*mijl;
for(j=i;j>=1;j--) sum+=1L*v[j];
if(sum>=1L*mijl*k) stg=mijl;
else dr=mijl;
}
fprintf(fout,"%lld ", stg);
fclose(fin);
fclose(fout);
return 0;
}