Submission #46767014


Source Code Expand

#include <bits/stdc++.h>

void solve(std::istream& is, std::ostream& os) {
    using Num = long long int;
    Num n {0};
    Num a {0};
    Num b {0};
    Num c {0};
    Num d {0};
    std::string s;
    is >> n >> a >> b >> c >> d >> s;
    --a;
    --b;
    --c;
    --d;

    if (b < a) {
        std::swap(a, b);
        std::swap(c, d);
    }

    if (c == d) {
        os << "No\n";
        return;
    }

    const std::array<std::pair<Num, Num>,2> ss {{{a, c}, {b, d}}};
    for(const auto& [start, goal] : ss) {
        Num len {0};
        for(Num i{start}; i<=goal; ++i) {
            if (s.at(i) == '.') {
                len = 0;
            } else {
                ++len;
                if (len >= 2) {
                    os << "No\n";
                    return;
                }
            }
        }
    }

    if ((a < b) && (d < c)) {
        Num max_len {0};
        Num len {0};
        for(Num i{std::max(0LL,b-1)}; i<=std::min(n-1,d+1); ++i) {
            if (s.at(i) == '#') {
                len = 0;
            } else {
                ++len;
                max_len = std::max(max_len, len);
            }
        }
        if (max_len < 3) {
            os << "No\n";
            return;
        }
    }

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

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

Submission Info

Submission Time
Task A - Kenken Race
User zettsut
Language C++ 20 (gcc 12.2)
Score 400
Code Size 1406 Byte
Status AC
Exec Time 4 ms
Memory 3808 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 15
Set Name Test Cases
Sample example_00, example_01, example_02
All example_00, example_01, example_02, handmade_00, handmade_01, handmade_02, handmade_03, handmade_04, handmade_05, handmade_06, handmade_07, handmade_08, handmade_09, handmade_10, handmade_11
Case Name Status Exec Time Memory
example_00 AC 1 ms 3492 KiB
example_01 AC 1 ms 3492 KiB
example_02 AC 1 ms 3372 KiB
handmade_00 AC 4 ms 3672 KiB
handmade_01 AC 4 ms 3600 KiB
handmade_02 AC 3 ms 3668 KiB
handmade_03 AC 4 ms 3536 KiB
handmade_04 AC 4 ms 3600 KiB
handmade_05 AC 4 ms 3732 KiB
handmade_06 AC 4 ms 3808 KiB
handmade_07 AC 4 ms 3664 KiB
handmade_08 AC 4 ms 3596 KiB
handmade_09 AC 4 ms 3668 KiB
handmade_10 AC 4 ms 3564 KiB
handmade_11 AC 3 ms 3672 KiB