Cod sursa(job #1081210)

Utilizator Dayanna000Amegica Dayanna Dayanna000 Data 13 ianuarie 2014 12:53:36
Problema Grupuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
using namespace std;
int k,n,a[100001];
bool verif(long long numar)
  {
    long long suma=0;
    for(int i=1;i<=n;++i)
      if(a[i]>numar)
        suma=suma+numar;
        else
        suma=suma+a[i];
    if(suma>=k*numar)
      return 1;
      else
      return 0;
  }
long long caut(long long st,long long dr)
  {
      long long mij;
      while(st<=dr)
        {
            mij=(st+dr)/2;
            if(verif(mij)==1 && verif(mij+1)==0)
               return mij;
            if(verif(mij)==0)
              dr=mij-1;
              else
              st=mij+1;
        }
  }
int main()
{
    ifstream f("grupuri.in");
    ofstream g("grupuri.out");
    f>>k>>n;
    for(int i=1;i<=n;++i)
      f>>a[i];
    g<<caut(1,(1<<30));
    f.close();
    g.close();
    return 0;
}