Cod sursa(job #165763)

Utilizator DastasIonescu Vlad Dastas Data 26 martie 2008 19:38:10
Problema Progresii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>

const int maxn = 100001;

FILE *in = fopen("progresii.in","r"), *out = fopen("progresii.out","w");

int n, m;
long long k, l;
int a[maxn];
int b[maxn];
long long tot;

void read()
{
    fscanf(in, "%d %d %lld %lld", &n, &m, &k, &l);

    for ( int i = 1; i <= n; ++i )
    {
        fscanf(in, "%d", &a[i]);

        tot = tot + (long long)(l - a[i] + 1);
    }
}

void go()
{
//    int vi;
//
//    long long kk;
//
//    for ( int i = n; i; --i )
//    {
//        vi = 1;
//        kk = (long long)l - a[i];
//
//        while ( vi <= m && tot > k )
//        {
//            ++vi;
//
//            tot = tot - (long long)((kk / vi) + 1);
//        }
//
//        b[i] = vi;
//    }

    //if ( tot > k )
    {
        fprintf(out, "%d\n", -1);
        return;
    }

    for ( int i = 1; i <= n; ++i )
        fprintf(out, "%d\n", b[i]);
}

int main()
{
    read();

    go();


    return 0;
}