Pagini recente » Cod sursa (job #169351) | Cod sursa (job #1007474) | Cod sursa (job #1501105) | Cod sursa (job #734403) | Cod sursa (job #2349857)
#include <iostream>
#include <stdio.h>
#include <algorithm>
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;
while(i>=1&&v[i]>=mijl){
sum+=1L*mijl;
i--;
}
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;
}