Cod sursa(job #2349866)

Utilizator DragosArseneDragos Arsene DragosArsene Data 20 februarie 2019 19:57:12
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#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;
}