Cod sursa(job #2390103)

Utilizator AlexutAlex Calinescu Alexut Data 27 martie 2019 19:28:44
Problema Progresii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;
long long sum[100001],d[100001],Max,k,l,s,best,sol,rest,poz;
int main()
{
    int n,i;
    ifstream f("progresii.in");
    ofstream g("progresii.out");
    f>>n>>Max>>k>>l;
    for (i=1; i<=n; ++i)
    {
        f>>poz;
        d[i]=l-poz;
        sum[i]=sum[i-1]+d[i]/Max+1;
    }
    if (sum[n]<=k)
    {
        s=0;
        for (i=1; i<=n; ++i)
        {
            best=sum[n]-sum[i];
            rest=k-(s+best);
            sol=d[i]/rest+1;
            s+=d[i]/sol+1;
            g<<sol<<'\n';
        }
    }
    else
        g<<"-1"<<'\n';
    return 0;
}