Cod sursa(job #1994184)

Utilizator Neamtu_StefanStefan Neamtu Neamtu_Stefan Data 24 iunie 2017 12:18:07
Problema Progresii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#define MAX 100002
#define ll long long

using namespace std;

ifstream fin("progresii.in");
ofstream fout("progresii.out");

int v[MAX],n,m;
ll k,l;

int main()
{
    fin >> n >> m >> k >> l;


    ll s=0;
    for (int i=1;i<=n;i++)
    {
        fin >> v[i];
        s+=(l-v[i]+1)/m;
        if ((l-v[i]+1)%m)
            s++;
    }

    if (s>k)
    {
        fout << "-1\n";
        return 0;
    }

    for (int i=1;i<=n;i++)
    {
        s-=(l-v[i]+1)/m;
        if ((l-v[i]+1)%m)
            s--;

        int nr=(l-v[i]+1)/(k-s);
        if ((l-v[i]+1)%(k-s))
            nr++;
        fout << nr << "\n";

        s+=(l-v[i]+1)/nr;
        if ((l-v[i]+1)%nr)
            s++;
    }

    return 0;
}