Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- /*
- 8
- 2 3 -8 -1 2 4 -2 3
- --------
- 7
- */
- int main(){
- int n;
- cin >> n;
- // Массив чисел
- int * arr = new int[n];
- for(int i = 0; i != n; ++i){
- cin >> arr[i];
- }
- // Матрица для динамики
- int ** dp = new int * [n];
- for(int i = 0; i != n; ++i){
- dp[i] = new int[2];
- }
- // Динамика
- dp[0][1] = arr[0];
- dp[0][0] = 0;
- for(int i = 1; i != n; ++i){
- dp[i][1] = max(arr[i], arr[i] + dp[i - 1][1]);
- dp[i][0] = max(dp[i - 1][0], dp[i - 1][1]);
- }
- // Ответ
- cout << max(dp[n - 1][0], dp[n - 1][1]);
- // Очистка памяти
- delete [] arr;
- for(int i = 0; i != n; ++i){
- delete [] dp[i];
- }
- delete [] dp;
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment