Buna ziua, am si eu o nelamurire. Am rezolvat aceasta problema, am trimis-o si am luat 0 puncte(la toate testele scrie: "Incorect"). Am descarcat testele si imi da rezultatul bun, dar pe jumatate depaseste timpul. Va las sursa mai jos, daca poate cineva sa se uite pe ea sa-mi spuna daca defapt am gresit eu ceva.
#include<iostream>
#include<fstream>
using namespace std;
int x[130][130],i,j,m,n,qq,maxim,l,c,minim=100000;
short q[130][130];
int main()
{
fstream in("0-bila.in");
ofstream out("bila.out");
in>>n>>m;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
in>>x
[j];
}
}
for(i=0;i<=n+1;i++)
{
x x[m+1]=100000;
}
for(i=0;i<=m+1;i++)
{
x[0]=100000;
x[n+1]=100000;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
q[j]++;
l=i;
c=j;
while(x[l][c]>x[l][c-1] || x[l][c]>x[l][c+1] || x[l][c]>x[l+1][c] || x[l][c]>x[l-1][c])
{
if(x[l][c]>x[l][c-1] && x[l][c-1]<x[l][c+1] && x[l][c-1]<x[l+1][c] && x[l][c-1]<x[l-1][c])
{
c--;
}
else
{
if(x[l][c]>x[l][c+1] && x[l][c+1]<x[l][c-1] && x[l][c+1]<x[l+1][c] && x[l][c+1]<x[l-1][c])
c++;
else
{
if(x[l][c]>x[l+1][c] && x[l+1][c]<x[l][c-1] && x[l+1][c]<x[l][c+1] && x[l+1][c]<x[l-1][c])
l++;
else
{
if(x[l][c]>x[l-1][c] && x[l-1][c]<x[l][c-1] && x[l-1][c]<x[l][c+1] && x[l-1][c]<x[l+1][c])
l--;
}
}
}
q[j]++;
}
}
}
for(i=1;i<=n;++i)
{
for(j=1;j<=m;j++)
{
if(q[j]>maxim)
maxim=q[j];
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
if(q[j]==maxim && x[j]<minim)
minim=x[j];
}
}
out<<maxim<<' '<<minim<<'\n';
}