Cod sursa(job #2159102)

Utilizator ezioconnorVlad - Gabriel Iftimescu ezioconnor Data 10 martie 2018 19:05:31
Problema Progresii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

long long sum[100001], d[100001], Max, k, l, s, best, sol, rest, poz;

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

int main()
{
    int n, i;
    in >> n >> Max >> k >> l;
    for (i = 1; i <= n; ++i)
    {
        in >> 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;
            out << sol << '\n';
       }
    }
    else
        out << -1 << '\n';
    return 0;
}