Cod sursa(job #209562)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 23 septembrie 2008 10:35:12
Problema Struti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb
#include <stdio.h>

int v[1010][1010], ax[1010][1010], bx[1010][1010], ay[1010][1010], by[1010][1010], dq[1010], n, m, p, i, j, k, o, a, b;

int main()
{
    freopen("struti.in","r",stdin);
    freopen("struti.out","w",stdout);
    scanf("%d %d %d", &n, &m, &p);
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=m; j++)
        scanf("%d", &v[i][j]);
    }
    scanf("%d %d", &a, &b);
    for(i=1; i<=n; i++)
    {
        k=1;
        o=1;
        dq[1]=1;
        for(j=1; j<a; j++)
        {
            while((v[i,dq[k]]>=v[i,j])&&(k>=o))
            k--;
            k++;
            dq[k]=j;
        }
        for(j=a; j<=m; j++)
        {
            if(dq[o]<=j-a)
                o++;
            while((v[i,dq[k]]>=v[i,j])&&(k>=o))
                k--;
            k++;
            dq[k]=j;
            ax[i][j]=v[dq[o]];
        }
        k=1;
        o=1;
        dq[1]=1;
        for(j=1; j<a; j++)
        {
            while((v[i,dq[k]]<=v[i,j])&&(k>=o))
            k--;
            k++;
            dq[k]=j;
        }
        for(j=a; j<=m; j++)
        {
            if(dq[o]<=j-a)
                o++;
            while((v[i,dq[k]]<=v[i,j])&&(k>=o))
                k--;
            k++;
            dq[k]=j;
            bx[i][j]=v[dq[o]];
        }
    }