#include <iostream> #include <string> #include <algorithm> #include <iomanip> #include <vector> #include <cmath> #include<cstring> using namespace std; //int dp[10000000]; //int a[10000000]; int main() { long long n; cin >> n; vector<int>a; vector<int>dp; for (long long i = 0;i < n;i++) { int z; cin >> z; a.push_back(z); } int num; if (a[0] > 0) num = a[0]; else num = 0; dp.push_back(num); int max = -1; for (long long i = 1;i < n;i++) { int z; //cin >> a[i]; if (a[i] > 0) z = dp[i - 1] + a[i]; else if (a[i] + dp[i - 1] > 0) z = a[i] + dp[i - 1]; else if (a[i] + dp[i - 1] < 0) z = 0; if (z > max) max = z; dp.push_back(z); } cout << max; } |
Double click to view unformatted code.