Cod sursa(job #2116449)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 27 ianuarie 2018 17:21:12
Problema Progresii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("progresii.in");
ofstream fout("progresii.out");
long long n, m, k, l, d[100002], sp[100002], sol[100002];
int main()
{
    long long i, max_time_for_i, min_speed_for_i;
    fin>>n>>m>>k>>l;
    for(i=1; i<=n; i++)
    {
        fin>>d[i];
        d[i]=l-d[i];
        sp[i]=1+d[i]/m;
    }
    for(i=n-1; i>=1; i--)
        sp[i]+=sp[i+1];
    if(sp[1]>k)
    {
        fout<<-1<<'\n';
        return 0;
    }
    for(i=1; i<=n; i++)
    {
        max_time_for_i=k-sp[i+1];
        min_speed_for_i=d[i]/max_time_for_i;
        min_speed_for_i++;
        fout<<min_speed_for_i<<'\n';
        k-=(d[i]/min_speed_for_i+1);
    }
    return 0;
}