#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
long long U, D;
cin >> N >> U >> D;
vector<long long> h(N);
for (int i = 0; i < N; i++) cin >> h[i];
auto canCross = [&](vector<long long>& arr) {
for (int i = 0; i + 1 < N; i++) {
long long diff = arr[i+1] - arr[i];
if (diff > U || diff < -D) return false;
}
return true;
};
if (canCross(h)) {
cout << 0 << "\n";
return 0;
}
for (int i = 0; i + 1 < N; i++) {
long long diff = h[i+1] - h[i];
if (diff > U || diff < -D) {
{
long long old = h[i];
h[i] = h[i+1];
if (canCross(h)) {
cout << 1 << "\n";
return 0;
}
h[i] = old;
}
{
long long old = h[i+1];
h[i+1] = h[i]; // make equal (safe choice)
if (canCross(h)) {
cout << 1 << "\n";
return 0;
}
h[i+1] = old;
}
cout << 2 << "\n";
return 0;
}
}
cout << 2 << "\n";
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |