Pagini recente » Cod sursa (job #2358464) | Cod sursa (job #1811194) | Cod sursa (job #2780284) | Cod sursa (job #1306704) | Cod sursa (job #1582423)
#include <fstream>
using namespace std;
int N, K, dp[1005][1005], dp2[1005][1005], mn = 50050009, x;
int main()
{
ifstream f("ferma2.in");
ofstream g("ferma2.out");
f >> N >> K;
int M = N - K;
for(int i = 1; i <= N; i++)
for(int j = 1; j <= i; j++){
f >> dp[i][j];
dp2[i][j] = dp[i][j];
dp[i][j]+= dp[i][j - 1] + dp[i - 1][j - 1] - dp[i - 1][j - 2];
}
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++)
dp2[i][j]+= dp2[i][j - 1] + dp2[i - 1][j] - dp2[i - 1][j - 1];
for(int i = M; i <= N; i++)
for(int j = M; j <= i; j++){
x = dp[i][j] - dp[i - M][j - M] - dp2[i][j - M] + dp2[i - M][j - M];
if(x < mn)mn = x;
}
g << dp[N][N] - mn;
return 0;
}