Alex_tz307

Cherchez vol 2 - Tren - pag 178 - 95 puncte

Sep 23rd, 2020 (edited)
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. // http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=510
  3.  
  4. using namespace std;
  5.  
  6. ifstream fin("tren1.in");
  7. ofstream fout("tren1.out");
  8.  
  9. const int NMAX = 5e4 + 5;
  10. int a[NMAX], sum[NMAX], dp[NMAX][4];
  11.  
  12. int main() {
  13.     int N;
  14.     fin >> N;
  15.     for(int i = 1; i <= N; ++i) {
  16.         fin >> a[i];
  17.         sum[i] = sum[i - 1] + a[i];
  18.     }
  19.     int M;
  20.     fin >> M;
  21.     for(int i = 1; i <= N; ++i)
  22.         for(int j = 1; j <= 3; ++j)
  23.             dp[i][j] = sum[i];
  24.     for(int i = M + 1; i <= N; ++i)
  25.         for(int j = 1; j <= 3; ++j)
  26.             dp[i][j] = max(dp[i - 1][j], sum[i] - sum[i - M] + dp[i - M][j - 1]);
  27.     fout << dp[N][3];
  28. }
  29.  
Add Comment
Please, Sign In to add comment