Pagini recente » Cod sursa (job #2110255) | Cod sursa (job #1796303) | Cod sursa (job #1796328) | Cod sursa (job #2940950) | Cod sursa (job #639063)
Cod sursa(job #639063)
#include<fstream>
using namespace std;
int i,j,t,n,m,lin[1001][1001],col[1001][1001],diag[1001][1001],x,k;
int rez=0,min1=10000000,c1,c2,l1,l2,d1,d2,sum,r;
int maxx(int x,int y,int z)
{
int m1=0;
if(x<y)
m1=y;
else
m1=x;
if(m1<z)
m1=z;
return z;
}
int main()
{
FILE *f=fopen("ferma2.in","r");
FILE *g=fopen("ferma2.out","w");
fscanf(f,"%d%d",&n,&k);
lin[1][0]=col[0][1]=diag[0][0]=0;
for(i=1;i<=n;i++)
{
lin[i][0]=col[0][i]=diag[i-1][0]=0;
for(j=1;j<=i;j++)
{
fscanf(f,"%d",&x);
lin[i][j]+=lin[i][j-1]+x;
col[i][j]+=col[i-1][j]+x;
diag[i][j]+=diag[i-1][j-1]+x;
sum+=x;
}
}
m=n-k;
for(i=n;i>1;i--)
{
for(j=i;j>1;j--)
{
rez=0;
r=m;
for(t=j;t>j-m;t--)
rez+=(diag[i][t]-diag[i-r][t-r]),r--;
if(min1>rez)
min1=rez;
}
}
fprintf(g,"%d ",sum-min1);
/*c1=n;
c2=1;
l1=l2=d1=d2=n;
for(i=1;i<=k;i++)
{
max1=maxx(col[c1][c2],lin[l1][l2],diag[d1][d2]);
if(max1==col[c1][c2])
c2++;
else
if(max1==lin[l1][l2])
--l1,--l2,--c1;
else
--d2,--l2;
fprintf(g,"%d ",max1);
}*/
return 0;
}