Cod sursa(job #2657476)

Utilizator rebecca0312Andrei Rebecca rebecca0312 Data 10 octombrie 2020 18:49:27
Problema Progresii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>
using namespace std;

const int NMAX = 100005;
long long p[NMAX];

int main () {

    freopen ("progresii.in", "r", stdin);
    freopen ("progresii.out", "w", stdout);

    int n, m;
    long long k, l;
    scanf ("%d%d%lld%lld", &n, &m, &k, &l);

    long long cost = 0;
    for (int i = 1; i <= n; i++){
        scanf ("%lld", &p[i]);
        cost += 1 + (l - p[i]) / m;
    }

    if(cost >= k)
        printf ("-1");
    else{
        for (int i = 1; i <= n; i++){
            long long v, a = l - p[i], b;
            cost -= 1 + (l - p[i]) / m;

            b = k - cost - 1;
            v = 1 + a / (b + 1);
            printf ("%d\n", v);

            cost += 1 + (l - p[i]) / v;
        }
    }
    return 0;
}