Don't know whats wrong with my code.
please some one take a look at my code (specially @brianfry713
![:)](./images/smilies/icon_smile.gif)
thanks in advance
Code: Select all
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long int t[22][22][22];
long long int w[22][22];
long long int p[22];
int main()
{
int x,y,z,i,j,k,cases,a,b,c,i1,i2,j1,j2,caseno=1;
int d,z1,z2;
long long int v,maxi;
cin>>cases;
while(cases--)
{
cin>>x>>y>>z;
a=1;b=1;c=1;
while(a<=x)
{
scanf("%d",&k);
t[c][a][b]=k;
if(c==z)
{
c=1;
if(b==y)
{
b=1;
a++;
}
else
b++;
}
else
c++;
}
/*cout<<"matrix:"<<endl;
for(i=1;i<=z;i++)
{
for(j=1;j<=x;j++)
{
for(k=1;k<=y;k++)
cout<<t[i][j][k]<<" ";
cout<<endl;
}
cout<<endl<<endl;
}*/
maxi=-2147483648LL;
for(i1=1;i1<=x;i1++)
{
memset(w,0,sizeof w);
for(i2=i1;i2<=x;i2++)
{
for(c=1;c<=z;c++){
for(j=1;j<=y;j++)
w[c][j]+=t[c][i2][j];
}
for(j1=1;j1<=y;j1++)
{
memset(p,0,sizeof p);
for(j2=j1;j2<=y;j2++)
{
for(d=1;d<=z;d++){
p[d]+=w[d][j2];
}
for(z1=1;z1<=z;z1++)
{
v=0;
for(z2=z1;z2<=z;z2++)
{
v+=p[z2];
if(v>=maxi)
maxi=v;
}
}
}
}
}
}
cout<<maxi<<endl;
if(cases)
cout<<endl;
}
return 0;
}