Pagini recente » Cod sursa (job #1680295) | Rating Mihai Bololoi (myhayday) | Cod sursa (job #658246) | Cod sursa (job #2289848) | Cod sursa (job #209562)
Cod sursa(job #209562)
#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]];
}
}