結果

提出番号 408
提出者 naoppy
言語 C++
提出日時 2017-07-15 16:30:48
問題名 (18)おまんじゅうわけわけ
結果 AC
点数 100%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 100% 1ms 7552KB
2 AC 100% 1ms 8096KB
3 AC 100% 1ms 7568KB
4 AC 100% 26ms 13968KB
5 AC 100% 20ms 13968KB
6 AC 100% 28ms 13968KB
7 AC 100% 20ms 13952KB
8 AC 100% 20ms 13952KB
9 AC 100% 20ms 13984KB

ソースコード

#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];
	}
	long long a = e % 3;
	long long ama1syo = 1000000000LL;
	long long ama2syo = 1000000000LL;
	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;
		} else {
			long long 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;
		} else {
			long long y = e - omanju[least2];
			cout << y;
		}
		break;
	}
	return 0;
}