1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<iostream>

using namespace std;

int P[1000005];
int N[1000005];

int main()
{
	ios_base::sync_with_stdio(0);
	int n;
	cin >> n;
	N[0] = -1;
	for (int i = 1; i <= n; i++)
	{
		P[i] = N[i] = -1;
		int x;
		cin >> x;
        if (x % 2 == 0)
		{
            if (N[i - 1] == -1) N[i] = -1;
            else N[i] = N[i - 1] + x;

            if (P[i - 1] == -1) P[i] = -1;
            else P[i] = P[i - 1] + x;
		}
		else
		{
			if (N[i - 1] == -1) P[i] = max(-1, P[i - 1]);
            else P[i] = max(N[i - 1] + x, P[i - 1]);

            if (P[i - 1] == -1) N[i] = max(-1, N[i - 1]);
            else N[i] = max(P[i - 1] + x, N[i - 1]);
		}
	}
	if (P[n] <= 0) cout << "NIESTETY\n";
	else cout << P[n] << "\n";


	return 0;
}