Cod sursa(job #2793656)

Utilizator loraclorac lorac lorac Data 3 noiembrie 2021 21:01:52
Problema Grupuri Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 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]+v[ind]*(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
    ll ind=n-1,curr=v[n]-1;
    while(!check(ind,curr))
    {
        --curr;
        while(curr<v[ind])
            --ind;
    }
    out<<curr<<'\n';
    return 0;
}