結果

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

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 100% 2ms 8320KB
2 AC 100% 2ms 7776KB
3 AC 100% 2ms 8320KB
4 AC 100% 8ms 7776KB
5 AC 100% 9ms 7984KB
6 AC 100% 13ms 7696KB
7 AC 100% 8ms 7984KB
8 AC 100% 8ms 7984KB
9 AC 100% 8ms 7792KB

ソースコード

#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 + *t > 114514) * !b)return 0 & puts("-1");
    switch(A % 3){
    case 1:
        A -= min(*o, *t + t[1]);
        break;
    case 2:
        A -= min(*t, *o + o[1]);
    }
    cout << A << endl;
    return 0;
}