Cod sursa(job #2475944)

Utilizator ana_valeriaAna Valeria Duguleanu ana_valeria Data 17 octombrie 2019 19:48:39
Problema Grupuri Scor 74
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;
ifstream cin ("grupuri.in");
ofstream cout ("grupuri.out");
int v[1000010];
int umplere(int mijl,int k,int v[100010],int n)
{
    int s,i;
    s=0;
    for (i=1; i<=n; i++)
        if (v[i]>=mijl)
            s=s+mijl;
        else
            s=s+v[i];
    if (s>=mijl*k)
        return 1;///mai poate creste mijl
    return 2;///mijl tb sa scada
}
int main()
{
    int k,n,st,dr,mijl,poz,i;
    cin>>k>>n;
    dr=0;
    for (i=1; i<=n; i++)
    {
        cin>>v[i];
        dr=dr+v[i];
    }
    st=1;
    dr=dr/k;
    while (st<=dr)
    {
        mijl=(st+dr)/2;
        if (umplere(mijl,k,v,n)==1)
        {
            st=mijl+1;
            poz=mijl;
        }
        else
            dr=mijl-1;
    }
    cout<<poz;
    return 0;
}