#include <iostream>
#include <vector>
using namespace std;
int N;
long long countNext(vector<int>& next) {
for (int i = 1; i < N; i++)
next[i] = next[i] + next[i - 1];
for (int i = N - 1; i >= 0; i--) {
if (next[i] % 2 == 0)
return next[i];
}
return 0;
}
long long countPrev(vector<int>& prev) {
for (int i = N - 2; i >= 0; i--)
prev[i] = prev[i] + prev[i + 1];
for (int i = 0; i < N; i++) {
if (prev[i] % 2 == 0)
return prev[i];
}
return 0;
}
int main(int argc, char** argv) {
cin >> N;
vector<int> next;
next.resize(N);
vector<int> prev;
prev.resize(N);
for (int i = 0; i < N; i++) {
int a;
cin >> a;
next[i] = a;
prev[i] = a;
}
if (N == 1) {
if (next[0] % 2 == 0)
cout << next[0] << endl;
else
cout << "NIESTETY" << endl;
return 0;
}
long long s1 = countNext(next);
long long s2 = countPrev(prev);
if (!s1 && !s2)
cout << "NIESTETY" << endl;
else {
long long ret = s1 > s2 ? s1 : s2;
cout << ret << endl;
}
return 0;
}
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include <iostream> #include <vector> using namespace std; int N; long long countNext(vector<int>& next) { for (int i = 1; i < N; i++) next[i] = next[i] + next[i - 1]; for (int i = N - 1; i >= 0; i--) { if (next[i] % 2 == 0) return next[i]; } return 0; } long long countPrev(vector<int>& prev) { for (int i = N - 2; i >= 0; i--) prev[i] = prev[i] + prev[i + 1]; for (int i = 0; i < N; i++) { if (prev[i] % 2 == 0) return prev[i]; } return 0; } int main(int argc, char** argv) { cin >> N; vector<int> next; next.resize(N); vector<int> prev; prev.resize(N); for (int i = 0; i < N; i++) { int a; cin >> a; next[i] = a; prev[i] = a; } if (N == 1) { if (next[0] % 2 == 0) cout << next[0] << endl; else cout << "NIESTETY" << endl; return 0; } long long s1 = countNext(next); long long s2 = countPrev(prev); if (!s1 && !s2) cout << "NIESTETY" << endl; else { long long ret = s1 > s2 ? s1 : s2; cout << ret << endl; } return 0; } |
English