Cod sursa(job #1853046)

Utilizator robx12lnLinca Robert robx12ln Data 21 ianuarie 2017 13:21:51
Problema Progresii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream>
using namespace std;
ifstream fin("progresii.in");
ofstream fout("progresii.out");
int n, m, v[100005], sol[100005];
long long k, l, nr;
int main(){
    fin >> n >> m >> k >> l;
    nr = 0;
    for( int i = 1; i <= n; i++ ){
        fin >> v[i];
        nr += ( l - v[i] ) / m + 1;
        sol[i] = m;
    }
    if( nr > k ){
        fout << "-1";
        return 0;
    }
    for( int i = 1; i <= n; i++ ){
        nr -= ( l - v[i] ) / m + 1;
        sol[i] = ( l - v[i] ) / ( k - nr ) + 1;
        nr += ( l - v[i] ) / sol[i] + 1;
        fout << sol[i] << "\n";
    }
    return 0;
}