Pagini recente » Cod sursa (job #1517686) | Cod sursa (job #102647) | Cod sursa (job #1451736) | Cod sursa (job #1928745) | Cod sursa (job #2413247)
#include <fstream>
using namespace std;
ifstream cin ("ferma2.in");
ofstream cout ("ferma2.out");
int n, k, x, s, sum, sol, mn;
int sl[1005][1005], sc[1005][1005], sd[1005][1005];
int main() {
cin >> n >> k;
k = n - k;
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= i; j++) {
cin >> x;
sol += x;
sl[i][j] = sl[i][j - 1] + x;
sc[i][j] = sc[i - 1][j] + x;
sd[i][j] = sd[i - 1][j - 1] + x;
}
}
for(int i = 1; i <= k; i++)
sum += sl[i][i];
mn = s = sum;
for(int i = 2; i <= n - k + 1; i++) {
s += sl[i + k - 1][k] - sd[i + k - 2][k];
sum = s;
mn = min(mn, s);
for(int j = 2; j <= i; j++) {
sum += sd[i + k - 1][j + k - 1] - sd[i - 1][j - 1] - sc[i + k - 1][j - 1] + sc[i - 1][j - 1];
mn = min(mn, sum);
}
}
sol -= mn;
cout << sol;
return 0;
}