Pagini recente » Cod sursa (job #46139) | Cod sursa (job #994136) | Cod sursa (job #2850588) | Cod sursa (job #2572100) | Cod sursa (job #2696036)
#include <fstream>
using namespace std;
ifstream fin ("ferma2.in");
ofstream fout ("ferma2.out");
struct ura
{
int l,c,d;
};
ura sp[1001][1001];
int main ()
{
int st=0,s=0,n,k,i,j,x,mini,cs;
fin>>n>>k;
k=n-k;
for (i=1;i<=n;i++)
for (j=1;j<=i;j++)
{
fin>>x;
st+=x;
sp[i][j].l=sp[i][j-1].l+x;
sp[j][i].c=sp[j][i-1].c+x;
sp[i][j].d=sp[i-1][j-1].d+x;
}
for (i=1;i<=k;i++)
s+=sp[i][i].l;
mini=s;
for (i=2;i<=n-k+1;i++)
{
s+=sp[i+k-1][k].l;
s-=sp[i+k-2][k].d;
cs=s;
if (cs<mini)
mini=cs;
for (j=2;j<=i;j++)
{
cs=cs+sp[i+k-1][j+k-1].d-sp[i-1][j-1].d;
cs=cs-sp[j-1][i+k-1].c+sp[j-1][i-1].c;
if (cs<mini)
mini=cs;
}
}
fout<<st-mini;
return 0;
}