maxsubarray: initial commit

This commit is contained in:
Dmitry Kokorin 2016-09-19 23:10:01 +03:00
parent 25ad456187
commit 1b33db721a
2 changed files with 40 additions and 0 deletions

View file

@ -0,0 +1,39 @@
#include <iostream>
#include <algorithm>
int main()
{
using namespace std;
size_t T;
cin >> T;
while (T--) {
size_t N;
cin >> N;
int v;
cin >> v;
N--;
long long max_sum_cont = v;
long long max_sum_cont_tmp = v;
long long max_sum_noncont = v;
while (N--) {
cin >> v;
max_sum_cont_tmp = max((long long)v, max_sum_cont_tmp + v);
max_sum_cont = max(max_sum_cont, max_sum_cont_tmp);
max_sum_noncont = max((long long)v, max_sum_noncont + (v > 0 ? v : 0));
}
cout << max_sum_cont << ' ' << max_sum_noncont << endl;
}
return 0;
}