Cod sursa(job #2346387)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 17 februarie 2019 16:59:48
Problema Progresii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("progresii.in");
ofstream out("progresii.out");
#define int long long
const int maxn = 100005;
int sp[maxn];
int v[maxn];
int32_t main()
{
    int n, m, k, L;
    in >> n >> m >> k >> L;
    for(int i = 1; i <= n; i++)
    {
        in >> v[i];
        v[i] = L - v[i];
        sp[i] = sp[i - 1] + v[i] / m + 1;
    }
    if(sp[n] > k)
    {
        out << -1 << "\n";
        return 0;
    }
    int sum = 0;
    for(int i = 1; i <= n; i++)
    {
        int r = k - (sum + sp[n] - sp[i]);
        int vit = v[i] / r + 1;
        out << vit << "\n";
        sum = sum + v[i] / vit + 1;
    }
    return 0;
}