提出 #18997834


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
using II = pair<int, int>;

int main()
{
    int n;
    cin >> n;
    vector<II> stone_vec;
    int nc;
    cin >> nc;
    stone_vec.push_back({nc, 1});
    for (int i = 1; i < n; ++i) {
        cin >> nc;
        auto pr = *stone_vec.rbegin();
        int c = pr.first, l = pr.second;
        if (c == nc) {
            *stone_vec.rbegin() = {c, l + 1};
            continue;
        }
        if (i % 2 == 0)
            stone_vec.push_back({nc, 1});
        else if (stone_vec.size() == 1)
            *stone_vec.rbegin() = {nc, l + 1};
        else {
            stone_vec.pop_back();
            auto pr2 = *stone_vec.rbegin();
            int l2 = pr2.second;
            *stone_vec.rbegin() = {nc, l2 + l + 1};
        }
    }
    int sum = 0;
    for (auto pr : stone_vec) {
        int c = pr.first, l = pr.second;
        if (c == 0)
            sum += l;
    }
    cout << sum << endl;
}

提出情報

提出日時
問題 A - 碁石ならべ
ユーザ atug
言語 C++ (GCC 9.2.1)
得点 20
コード長 945 Byte
結果 AC
実行時間 26 ms
メモリ 3632 KiB

ジャッジ結果

セット名 set01 set02 set03 set04 set05 set06 set07 set08 set09 set10
得点 / 配点 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2
結果
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
セット名 テストケース
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
set06 data6
set07 data7
set08 data8
set09 data9
set10 data10
ケース名 結果 実行時間 メモリ
data1 AC 7 ms 3496 KiB
data10 AC 24 ms 3604 KiB
data2 AC 3 ms 3420 KiB
data3 AC 2 ms 3412 KiB
data4 AC 6 ms 3500 KiB
data5 AC 4 ms 3632 KiB
data6 AC 14 ms 3496 KiB
data7 AC 26 ms 3604 KiB
data8 AC 26 ms 3496 KiB
data9 AC 20 ms 3560 KiB