提出 #33693690


ソースコード 拡げる

#include <bits/extc++.h>

int main(){
    using namespace std;
    unsigned long N, K;
    cin >> N >> K;

    const auto simulation{[](auto&& p, unsigned long K){
        vector<pair<unsigned long, unsigned long>> sim_stack;
        p.emplace_back();
        
        unsigned long remain_op = K;
        
        for(const auto& i : p){
            while(!empty(sim_stack) && remain_op >= sim_stack.back().second && sim_stack.back() > i){
                remain_op -= sim_stack.back().second;
                sim_stack.pop_back();
            }
            sim_stack.emplace_back(i);
        }
        sim_stack.pop_back();
        p.pop_back();
        
        vector<unsigned long> ret(size(sim_stack));
        transform(begin(sim_stack), end(sim_stack), begin(ret), [](auto&& i){return i.first;});
        
        return ret;
    }};

    vector<pair<unsigned long, unsigned long>> p(N, {1, 1});
    for(auto&& [i, _] : p)cin >> i;

    auto p_rotated = p;
    const unsigned long front_idx = min_element(begin(p) + N - K, end(p)) - begin(p);
    for(auto i = front_idx; i < N; ++i)p_rotated[i].second = 0;
    rotate(begin(p_rotated), begin(p_rotated) + front_idx, end(p_rotated));
    
    const auto ans = min(simulation(p, K), simulation(p_rotated, K - N + front_idx));
    for(const auto i : ans)cout << i << " ";
    cout << endl;

    return 0;
}

提出情報

提出日時
問題 F - Erase and Rotate
ユーザ MMNMM
言語 C++ (GCC 9.2.1)
得点 500
コード長 1361 Byte
結果 AC
実行時間 81 ms
メモリ 18224 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 3
AC × 47
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_sall_00.txt, 01_sall_01.txt, 01_sall_02.txt, 01_sall_03.txt, 01_sall_04.txt, 01_sall_05.txt, 01_sall_06.txt, 01_sall_07.txt, 01_sall_08.txt, 01_sall_09.txt, 01_sall_10.txt, 01_sall_11.txt, 01_sall_12.txt, 01_sall_13.txt, 01_sall_14.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 03_inc_00.txt, 03_inc_01.txt, 03_inc_02.txt, 03_inc_03.txt, 03_inc_04.txt, 03_inc_05.txt, 03_inc_06.txt, 03_inc_07.txt, 03_inc_08.txt, 04_dec_00.txt, 04_dec_01.txt, 04_dec_02.txt, 04_dec_03.txt, 04_dec_04.txt, 04_dec_05.txt, 04_dec_06.txt, 04_dec_07.txt, 04_dec_08.txt, 05_hand_00.txt, 05_hand_01.txt, 05_hand_02.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 7 ms 3624 KiB
00_sample_01.txt AC 2 ms 3584 KiB
00_sample_02.txt AC 2 ms 3588 KiB
01_sall_00.txt AC 2 ms 3576 KiB
01_sall_01.txt AC 2 ms 3400 KiB
01_sall_02.txt AC 2 ms 3484 KiB
01_sall_03.txt AC 2 ms 3408 KiB
01_sall_04.txt AC 2 ms 3604 KiB
01_sall_05.txt AC 2 ms 3532 KiB
01_sall_06.txt AC 2 ms 3468 KiB
01_sall_07.txt AC 3 ms 3488 KiB
01_sall_08.txt AC 2 ms 3524 KiB
01_sall_09.txt AC 2 ms 3420 KiB
01_sall_10.txt AC 2 ms 3420 KiB
01_sall_11.txt AC 2 ms 3404 KiB
01_sall_12.txt AC 2 ms 3452 KiB
01_sall_13.txt AC 2 ms 3580 KiB
01_sall_14.txt AC 2 ms 3604 KiB
02_rnd_00.txt AC 76 ms 16640 KiB
02_rnd_01.txt AC 74 ms 17076 KiB
02_rnd_02.txt AC 70 ms 16252 KiB
02_rnd_03.txt AC 65 ms 14492 KiB
02_rnd_04.txt AC 63 ms 13504 KiB
02_rnd_05.txt AC 61 ms 14132 KiB
02_rnd_06.txt AC 63 ms 13476 KiB
02_rnd_07.txt AC 68 ms 14396 KiB
03_inc_00.txt AC 77 ms 18224 KiB
03_inc_01.txt AC 76 ms 18088 KiB
03_inc_02.txt AC 77 ms 18112 KiB
03_inc_03.txt AC 75 ms 17976 KiB
03_inc_04.txt AC 75 ms 18124 KiB
03_inc_05.txt AC 77 ms 17976 KiB
03_inc_06.txt AC 72 ms 17184 KiB
03_inc_07.txt AC 73 ms 17260 KiB
03_inc_08.txt AC 75 ms 17308 KiB
04_dec_00.txt AC 75 ms 18120 KiB
04_dec_01.txt AC 76 ms 18128 KiB
04_dec_02.txt AC 78 ms 18080 KiB
04_dec_03.txt AC 81 ms 18224 KiB
04_dec_04.txt AC 76 ms 18220 KiB
04_dec_05.txt AC 76 ms 18160 KiB
04_dec_06.txt AC 70 ms 16844 KiB
04_dec_07.txt AC 71 ms 17176 KiB
04_dec_08.txt AC 75 ms 17500 KiB
05_hand_00.txt AC 72 ms 17304 KiB
05_hand_01.txt AC 66 ms 16068 KiB
05_hand_02.txt AC 75 ms 16516 KiB