Cod sursa(job #2803951)
Utilizator | Tanasescu Andrei-Rares andiR | Data | 20 noiembrie 2021 17:37:05 |
---|---|---|---|
Problema | Grupuri | Scor | 2 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
#define Nmax 100000
using namespace std;
ifstream fin ("grupuri.in");
ofstream fout ("grupuri.out");
int n,k,i;
long long l,r,m,x,sol;
const long long Amax=1000000;
int v[Nmax];
int main()
{
fin>>k>>n;
for (i=0;i<n;i++)
fin>>v[i];
l=0;
r=Nmax*Amax;
while (l<=r)
{
m=(l+r)/2;
x=0;
for (i=0;i<n;i++)
{
if (v[i]<k)
x+=v[i];
else x+=k;
}
if (x>=m*k)
{
l=m+1;
sol=m;
}
else r=m-1;
}
fout<<sol;
return 0;
}