Cod sursa(job #1501270)

Utilizator dyanagGrigore Diana dyanag Data 13 octombrie 2015 10:20:45
Problema Grupuri Scor 74
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
using namespace std;

FILE *f=fopen("grupuri.in", "r");
FILE *g=fopen("grupuri.out", "w");

int v[100001];

int main()
{
    int k, s=0, p=0;
    fscanf(f, "%d%d", &k, &v[0]);
    for(int i=1; i<=v[0]; ++i){
        fscanf(f, "%d", &v[i]);
        s+=v[i];
    }
    int st=1, dr=s/k+1;
    while(st<=dr){
        int m=(st+dr)/2, s=0;
        for(int i=1; i<=v[0]; ++i)
            if(v[i]>m) s+=m;
            else s+=v[i];
        if(s>=m*k){
            p=m;
            st=m+1;
        }
        else
            dr=m-1;
    }
    fprintf(g, "%d", p);
return 0;
}