Submission #61600651


Source Code Expand

Copy
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Interval {
long long start, end;
};
int main() {
long long N, M, A, B;
cin >> N >> M >> A >> B;
vector<Interval> bad_intervals(M);
for (int i = 0; i < M; ++i) {
cin >> bad_intervals[i].start >> bad_intervals[i].end;
}
//
vector<Interval> good_intervals;
long long last_end = 0;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct Interval {
    long long start, end;
};

int main() {
    long long N, M, A, B;
    cin >> N >> M >> A >> B;
    vector<Interval> bad_intervals(M);
    
    for (int i = 0; i < M; ++i) {
        cin >> bad_intervals[i].start >> bad_intervals[i].end;
    }

    // 良い区間を作成
    vector<Interval> good_intervals;
    long long last_end = 0;

    for (const auto& bad : bad_intervals) {
        if (last_end + 1 < bad.start) {
            good_intervals.push_back({last_end + 1, bad.start - 1});
        }
        last_end = bad.end;
    }

    if (last_end < N) {
        good_intervals.push_back({last_end + 1, N});
    }

    // 現在到達可能な範囲
    long long current_start = 1, current_end = 1;
    size_t idx = 0;

    while (current_start <= N) {
        long long next_start = -1, next_end = -1;

        // 良い区間を見つける
        while (idx < good_intervals.size() && good_intervals[idx].end < current_start + A) {
            ++idx;
        }

        while (idx < good_intervals.size() && good_intervals[idx].start <= current_end + B) {
            long long new_start = max(good_intervals[idx].start, current_start + A);
            long long new_end = min(good_intervals[idx].end, current_end + B);

            if (new_start <= new_end) {
                if (next_start == -1) {
                    next_start = new_start;
                    next_end = new_end;
                } else {
                    next_end = max(next_end, new_end);
                }
            }
            if (good_intervals[idx].end > current_end + B) break;
            ++idx;
        }

        if (next_start == -1) {
            cout << "No" << endl;
            return 0;
        }

        current_start = next_start;
        current_end = next_end;

        if (current_end >= N) {
            cout << "Yes" << endl;
            return 0;
        }
    }

    cout << "No" << endl;
    return 0;
}

Submission Info

Submission Time
Task F - Dangerous Sugoroku
User po1
Language C++ 20 (gcc 12.2)
Score 0
Code Size 2099 Byte
Status TLE
Exec Time 4417 ms
Memory 4220 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 550
Status
AC × 3
AC × 43
TLE × 28
Set Name Test Cases
Sample sample00.txt, sample01.txt, sample02.txt
All sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt, testcase40.txt, testcase41.txt, testcase42.txt, testcase43.txt, testcase44.txt, testcase45.txt, testcase46.txt, testcase47.txt, testcase48.txt, testcase49.txt, testcase50.txt, testcase51.txt, testcase52.txt, testcase53.txt, testcase54.txt, testcase55.txt, testcase56.txt, testcase57.txt, testcase58.txt, testcase59.txt, testcase60.txt, testcase61.txt, testcase62.txt, testcase63.txt, testcase64.txt, testcase65.txt, testcase66.txt, testcase67.txt
Case Name Status Exec Time Memory
sample00.txt AC 1 ms 3544 KiB
sample01.txt AC 1 ms 3552 KiB
sample02.txt AC 1 ms 3504 KiB
testcase00.txt AC 17 ms 3656 KiB
testcase01.txt AC 20 ms 4088 KiB
testcase02.txt AC 15 ms 3772 KiB
testcase03.txt AC 26 ms 4124 KiB
testcase04.txt AC 18 ms 3768 KiB
testcase05.txt AC 40 ms 4048 KiB
testcase06.txt TLE 4414 ms 3288 KiB
testcase07.txt TLE 4414 ms 3328 KiB
testcase08.txt TLE 4414 ms 3292 KiB
testcase09.txt TLE 4414 ms 3244 KiB
testcase10.txt TLE 4414 ms 3240 KiB
testcase11.txt TLE 4414 ms 3720 KiB
testcase12.txt TLE 4414 ms 4220 KiB
testcase13.txt TLE 4414 ms 3428 KiB
testcase14.txt TLE 4414 ms 4048 KiB
testcase15.txt TLE 4414 ms 3992 KiB
testcase16.txt TLE 4414 ms 4088 KiB
testcase17.txt TLE 4414 ms 3680 KiB
testcase18.txt TLE 4414 ms 4044 KiB
testcase19.txt AC 51 ms 3652 KiB
testcase20.txt AC 18 ms 4212 KiB
testcase21.txt AC 49 ms 3528 KiB
testcase22.txt AC 27 ms 4036 KiB
testcase23.txt AC 6 ms 3760 KiB
testcase24.txt AC 8 ms 4056 KiB
testcase25.txt AC 3 ms 3728 KiB
testcase26.txt AC 8 ms 4092 KiB
testcase27.txt AC 42 ms 3748 KiB
testcase28.txt AC 15 ms 4116 KiB
testcase29.txt AC 13 ms 4080 KiB
testcase30.txt AC 15 ms 4044 KiB
testcase31.txt TLE 4417 ms 3700 KiB
testcase32.txt TLE 4414 ms 4132 KiB
testcase33.txt TLE 4414 ms 3380 KiB
testcase34.txt TLE 4414 ms 3464 KiB
testcase35.txt TLE 4414 ms 3248 KiB
testcase36.txt AC 1 ms 3500 KiB
testcase37.txt AC 1 ms 3456 KiB
testcase38.txt TLE 4414 ms 3888 KiB
testcase39.txt TLE 4415 ms 4216 KiB
testcase40.txt TLE 4417 ms 4028 KiB
testcase41.txt TLE 4414 ms 4076 KiB
testcase42.txt TLE 4414 ms 4084 KiB
testcase43.txt TLE 4415 ms 4220 KiB
testcase44.txt TLE 4414 ms 3660 KiB
testcase45.txt TLE 4414 ms 4120 KiB
testcase46.txt AC 2 ms 3700 KiB
testcase47.txt AC 13 ms 4136 KiB
testcase48.txt TLE 4414 ms 4020 KiB
testcase49.txt TLE 4417 ms 4052 KiB
testcase50.txt AC 4 ms 3792 KiB
testcase51.txt AC 8 ms 4080 KiB
testcase52.txt AC 4 ms 3712 KiB
testcase53.txt AC 11 ms 4084 KiB
testcase54.txt AC 2 ms 3872 KiB
testcase55.txt AC 9 ms 4048 KiB
testcase56.txt AC 2 ms 3564 KiB
testcase57.txt AC 8 ms 4136 KiB
testcase58.txt AC 2 ms 3620 KiB
testcase59.txt AC 8 ms 4144 KiB
testcase60.txt AC 4 ms 3696 KiB
testcase61.txt AC 9 ms 4056 KiB
testcase62.txt AC 1 ms 3496 KiB
testcase63.txt AC 1 ms 3424 KiB
testcase64.txt AC 1 ms 3500 KiB
testcase65.txt AC 1 ms 3556 KiB
testcase66.txt AC 1 ms 3500 KiB
testcase67.txt AC 1 ms 3480 KiB


2025-06-20 (Fri)
00:45:04 +09:00