Submission #46454001


Source Code Expand

#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> aset(n);
    std::vector<Num> bset(n);
    std::vector<Num> cset(n);

    for(auto&& a : aset) {
        is >> a;
    }
    std::sort(aset.begin(), aset.end());

    for(auto&& b : bset) {
        is >> b;
    }
    std::sort(bset.begin(), bset.end());

    for(auto&& c : cset) {
        is >> c;
    }
    std::sort(cset.begin(), cset.end());

    Num total {0};
    Num index_a {0};
    Num index_b {0};
    Num index_c {0};
    Num stop {false};
    while(!stop) {
        while ((aset.at(index_a) < bset.at(index_b)) && (bset.at(index_b) < cset.at(index_c))) {
            ++total;
            ++index_a;
            ++index_b;
            ++index_c;

            if ((index_a >= n) || (index_b >= n) || (index_c >= n)) {
                stop = true;
                break;
            }
        }

        if (stop) {
            break;
        }

        while (aset.at(index_a) >= bset.at(index_b)) {
            ++index_b;
            if (index_b >= n) {
                stop = true;
                break;
            }
        }

        if (stop) {
            break;
        }

        while (bset.at(index_b) >= cset.at(index_c)) {
            ++index_c;
            if (index_c >= n) {
                stop = true;
                break;
            }
        }

        if (stop) {
            break;
        }
    }

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

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

Submission Info

Submission Time
Task B - Increasing Triples
User zettsut
Language C++ 20 (gcc 12.2)
Score 400
Code Size 1676 Byte
Status AC
Exec Time 90 ms
Memory 5632 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 36
Set Name Test Cases
Sample 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt
All 01_sample_01.txt, 01_sample_02.txt, 01_sample_03.txt, 02_rand_01.txt, 02_rand_02.txt, 02_rand_03.txt, 02_rand_04.txt, 02_rand_05.txt, 02_rand_06.txt, 02_rand_07.txt, 02_rand_08.txt, 02_rand_09.txt, 02_rand_10.txt, 03_rand_dense_01.txt, 03_rand_dense_02.txt, 03_rand_dense_03.txt, 03_rand_dense_04.txt, 03_rand_dense_05.txt, 03_rand_dense_06.txt, 03_rand_dense_07.txt, 03_rand_dense_08.txt, 03_rand_dense_09.txt, 03_rand_dense_10.txt, 04_small_ans_01.txt, 04_small_ans_02.txt, 04_small_ans_03.txt, 04_small_ans_04.txt, 04_small_ans_05.txt, 04_small_ans_06.txt, 04_small_ans_07.txt, 04_small_ans_08.txt, 04_small_ans_09.txt, 04_small_ans_10.txt, 05_handmade_01.txt, 05_handmade_02.txt, 05_handmade_03.txt
Case Name Status Exec Time Memory
01_sample_01.txt AC 4 ms 3460 KiB
01_sample_02.txt AC 1 ms 3440 KiB
01_sample_03.txt AC 1 ms 3632 KiB
02_rand_01.txt AC 89 ms 5512 KiB
02_rand_02.txt AC 89 ms 5392 KiB
02_rand_03.txt AC 89 ms 5536 KiB
02_rand_04.txt AC 89 ms 5484 KiB
02_rand_05.txt AC 89 ms 5460 KiB
02_rand_06.txt AC 89 ms 5456 KiB
02_rand_07.txt AC 89 ms 5464 KiB
02_rand_08.txt AC 88 ms 5428 KiB
02_rand_09.txt AC 90 ms 5528 KiB
02_rand_10.txt AC 90 ms 5476 KiB
03_rand_dense_01.txt AC 40 ms 5472 KiB
03_rand_dense_02.txt AC 40 ms 5392 KiB
03_rand_dense_03.txt AC 40 ms 5460 KiB
03_rand_dense_04.txt AC 41 ms 5460 KiB
03_rand_dense_05.txt AC 40 ms 5432 KiB
03_rand_dense_06.txt AC 40 ms 5512 KiB
03_rand_dense_07.txt AC 39 ms 5508 KiB
03_rand_dense_08.txt AC 40 ms 5532 KiB
03_rand_dense_09.txt AC 40 ms 5484 KiB
03_rand_dense_10.txt AC 39 ms 5632 KiB
04_small_ans_01.txt AC 69 ms 4936 KiB
04_small_ans_02.txt AC 82 ms 5220 KiB
04_small_ans_03.txt AC 83 ms 5224 KiB
04_small_ans_04.txt AC 25 ms 3920 KiB
04_small_ans_05.txt AC 65 ms 5104 KiB
04_small_ans_06.txt AC 2 ms 3608 KiB
04_small_ans_07.txt AC 33 ms 3900 KiB
04_small_ans_08.txt AC 36 ms 4212 KiB
04_small_ans_09.txt AC 3 ms 3508 KiB
04_small_ans_10.txt AC 36 ms 4192 KiB
05_handmade_01.txt AC 85 ms 5536 KiB
05_handmade_02.txt AC 85 ms 5528 KiB
05_handmade_03.txt AC 67 ms 5472 KiB