Cod sursa(job #189559)

Utilizator rala03Ana Roxana Pop rala03 Data 15 mai 2008 17:17:35
Problema Progresii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <stdio.h>   
int p[200000];   
int v[100005];   
int c[200000];   
int main ()   
{   
    int n,l,k,m,a,s=0,i,j=1;   
  
    freopen ("progresii.in","r",stdin);   
    freopen ("progresii.out","w",stdout);   
    scanf("%d%d%d%d",&n,&m,&k,&l);   
    for (i=1;i<=n;i++)   
        scanf ("%d",&p[i]);   
    for (i=1;i<=n;i++)   
    {   
        c[i]=0;   
        a=p[i];   
        while (a<=l)   
        {   
            c[i]++;   
            a+=m;   
        }   
        s+=c[i];   
    }   
    //printf ("%d",s);   
    i=1;   
    while ((s<k)&&(i<=n))   
    {   
        s-=c[i];   
        c[i]=0;   
        a=p[i];   
        while (a<=l)   
        {   
            c[i]++;   
            a+=m-j;   
        }   
        s+=c[i];   
        j++;   
        if ((s>k)||(m-j<1))   
        {   
            i++;   
            j=1;   
        }   
    }   
    for (i=1;i<=n;i++)   
    {   
        v[i]=(l-p[i]+1)/c[i];   
    }   
    for (i=1;i<=n;i++)   
        printf ("%d\n",v[i]);   
    //printf ("%d",s);   
    return 0;   
}