Pagini recente » Profil stefansaru | Monitorul de evaluare | Cod sursa (job #2072279) | Monitorul de evaluare | Cod sursa (job #205979)
Cod sursa(job #205979)
#include<stdio.h>
FILE *fin=fopen("struti.in","r"),
*fout=fopen("struti.out","w");
int N,M,P,a[1005][1005];
int nr,sol;
void rezolvare(int i,int j){
for(int k=1;k<=N-i+1;k++)
for(int l=1;l<=M-j+1;l++){
int min=8009,max=-1;
for(int kk=k;kk<=k+i-1;kk++)
for(int ll=l;ll<=l+j-1;ll++){
if(a[kk][ll]>max) max=a[kk][ll];
if(a[kk][ll]<min) min=a[kk][ll];
}
if(max-min==sol) ++nr;
else
if(max-min<sol){
sol=max-min;
nr=1;
}
}
}
int main(){
fscanf(fin,"%d%d%d",&N,&M,&P);
for(int i=1;i<=N;i++)
for(int j=1;j<=M;j++)
fscanf(fin,"%d",&a[i][j]);
for(int k=1;k<=P;k++){
int i,j;
fscanf(fin,"%d %d",&i,&j);
nr=0;sol=8008;
rezolvare(i,j);
if(i!=j)
rezolvare(j,i);
fprintf(fout,"%d %d\n",sol,nr);
}
fclose(fin);
fclose(fout);
return 0;
}