Cod sursa(job #2349857)

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