Cod sursa(job #2793662)

Utilizator loraclorac lorac lorac Data 3 noiembrie 2021 21:07:12
Problema Grupuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("grupuri.in");
ofstream out("grupuri.out");
typedef long long ll;
const ll lim=1e5+4;
ll dp[lim];
ll v[lim];
ll n,k;
bool check(ll ind,ll val)
{
    if(dp[ind]+val*(n-ind)>=val*k)
        return true;
    return false;
}
int main()
{
    in>>k>>n;
    for(ll i=1;i<=n;++i)
        in>>v[i],
        dp[i]=dp[i-1]+v[i];
    if(check(n,v[n]))
    {
        /// pot cel putin v[n] grupuri
        out<<(dp[n]/k)<<'\n';
        return 0;
    }
    /// pot cel mult v[n] grupuri
    for(int t=n-1;t>=1;--t)
    for(int i=v[t+1]-1;i>=v[t];--i)
    if(check(t,i))
    {
        out<<i<<'\n';
        return 0;
    }
    return 0;
}