提出 #46232859


ソースコード 拡げる

#include <bits/stdc++.h>

void solve(std::istream& is, std::ostream& os) {
    using Num = long long int;
    Num n {0};
    is >> n;

    std::vector<Num> cts(n, 0);
    for(auto&& t : cts) {
        is >> t;
    }

    Num k {0};
    for(const auto& t : cts) {
        Num mask {1};
        mask <<= t;
        if (k < mask) {
            k = mask;
            continue;
        }

        if ((k & mask) == 0) {
            k |= mask;
            k >>= t;
            k <<= t;
            continue;
        }

        k >>= (t + 1);
        ++k;
        k <<= 1;
        k |= 1;
        k <<= t;
    }

    os << k << "\n";
    return;
}

int main(void) {
    solve(std::cin, std::cout);
    return 0;
}

提出情報

提出日時
問題 A - Trailing Zeros
ユーザ zettsut
言語 C++ 20 (gcc 12.2)
得点 300
コード長 750 Byte
結果 AC
実行時間 12 ms
メモリ 4108 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 4
AC × 18
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 02_max_00.txt, 02_max_01.txt, 03_min_00.txt, 03_min_01.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 3492 KiB
00_sample_01.txt AC 1 ms 3476 KiB
00_sample_02.txt AC 1 ms 3492 KiB
00_sample_03.txt AC 1 ms 3488 KiB
01_random_00.txt AC 12 ms 3932 KiB
01_random_01.txt AC 11 ms 3948 KiB
01_random_02.txt AC 11 ms 3884 KiB
01_random_03.txt AC 11 ms 3944 KiB
01_random_04.txt AC 11 ms 4016 KiB
01_random_05.txt AC 11 ms 4008 KiB
01_random_06.txt AC 11 ms 3892 KiB
01_random_07.txt AC 12 ms 4108 KiB
01_random_08.txt AC 11 ms 4104 KiB
01_random_09.txt AC 12 ms 3932 KiB
02_max_00.txt AC 11 ms 3936 KiB
02_max_01.txt AC 11 ms 3948 KiB
03_min_00.txt AC 9 ms 3936 KiB
03_min_01.txt AC 9 ms 3908 KiB