結果

提出番号 713
提出者 MMNMM
言語 C++
提出日時 2017-08-01 14:01:21
問題名 (18)おまんじゅうわけわけ
結果 WA
点数 0%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 100% 2ms 8320KB
2 WA 0% 1ms 7408KB
3 AC 100% 2ms 7680KB
4 AC 100% 10ms 8304KB
5 WA 0% 9ms 7504KB
6 AC 100% 10ms 8320KB
7 AC 100% 9ms 8336KB
8 WA 0% 28ms 7408KB
9 WA 0% 8ms 7664KB

ソースコード

#include <bits/stdc++.h>
using namespace std;

long long int N, A, a, b, i, o[2] = {114514, 114514}, t[2] = {114514, 114514};

int main(){
    scanf("%lld", &N);
    for(; i < N; ++i){
        scanf("%lld", &a);
        A += a;
        switch(a % 3){
            case 0:
                ++b;
                break;
            case 1:
                b += o[1] != 114514;
                if(o[1] > a){
                    if(*o > a){
                        swap(*o, o[1]);
                        *o = a;
                    }else{
                        o[1] = a;
                    }
                }
                break;
            case 2:
                b += t[1] != 114514;
                if(t[1] > a){
                    if(*t > a){
                        swap(*t, t[1]);
                        *t = a;
                    }else{
                        t[1] = a;
                    }
                }
        }
    }
    if((*o == 114514 || *t == 114514) && !b)return 0 & puts("-1");
    switch(A % 3){
    case 1:
        A -= min(*o, *t + t[1]);
    case 2:
        A -= min(*t, *o + o[1]);
    }
    cout << A << endl;
    return 0;
}