Cod sursa(job #1582423)

Utilizator TimoteiCopaciu Timotei Timotei Data 27 ianuarie 2016 21:55:03
Problema Ferma2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#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;
}