ソースコード
#include "iostream"
using namespace std;
int main() {
int N;
cin >> N;
long long omanju[N];
long long waru3syou[N];
long long waru3amari[N];
long long e = 0;
for(int i = 0; i < N; i++) {
cin >> omanju[i];
waru3syou[i] = omanju[i] / 3;
waru3amari[i] = omanju[i] % 3;
e += omanju[i];
}
int a = e % 3;
switch(a) {
case 0 :
cout << e;
break;
case 1 :
long long ama1syo = 1000000000LL;
int least;
for(int m = 0; m < N; m++) {
if(waru3amari[m] == 1) {
if(ama1syo > waru3syou[m]) {
ama1syo = waru3syou[m];
least = m;
}
}
}
if(ama1syo == 1000000000LL) {
cout << -1;
return 0;
} else {
int x = e - omanju[least];
cout << x;
}
break;
case 2 :
long long ama2syo = 1000000000LL;
int least2;
for(int p = 0; p < N; p++) {
if(waru3amari[p] == 2) {
if(ama2syo > waru3syou[p]) {
ama2syo = waru3syou[p];
least2 = p;
}
}
}
if(ama2syo == 1000000000LL) {
cout << -1;
return 0;
} else {
int y = e - omanju[least2];
cout << y;
}
break;
}
return 0;
}