Pagini recente » Istoria paginii utilizator/luciabianca24 | Istoria paginii utilizator/luur | Istoria paginii utilizator/danielles | Istoria paginii utilizator/legacys | Cod sursa (job #696579)
Cod sursa(job #696579)
#include <cstdio>
#include <iostream>
using namespace std;
int tr[104][105];
int dp[104][105];
int main()
{
int n,k,S=0,Smin=1<<30;
freopen("ferma2.in","r", stdin);
freopen("ferma2.out","w", stdin);
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
{
scanf("%d",&tr[i][j]);
dp[i][j]+=dp[i-1][j-1]+tr[i][j];
S+=tr[i][j];
}
/*for(int i=1;i<=n;i++,cout<<endl)
for(int j=1;j<=i;j++)
cout<<tr[i][j]<<" ";*/
/*for(int i=1;i<=n;i++,cout<<endl)
for(int j=1;j<=i;j++)
cout<<dp[i][j]<<" ";
cout<<S<<endl;*/
// caut triunghi de latura n-k
for(int i=n-k-1;i<=n;i++)
for(int j=1;j+n-k-1<=i;j++)
{
int Str=0,ind=1;
for(int c=j;c<j+n-k;c++)
{
Str+=dp[i][c]-dp[i-ind][j-1];
//cout<<" : "<<dp[i][c]<<" - : "<<dp[i-ind][j-1]<<" : ind :"<<ind<<endl;
ind++;
}
Smin=min(Str,Smin);
}
cout<<S-Smin;
return 0;
}