Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- void Warding()
- {
- ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
- #endif
- }
- void solve()
- {
- bool flag = 0, c1 = 1, c2 = 1, c3 = 1, c4 = 1;
- ll n, k;
- cin >> n >> k;
- vector<ll> v1(n), v2(n);
- for (auto &i : v1)
- cin >> i;
- for (auto &i : v2)
- cin >> i;
- if (n == 1)
- {
- cout << (abs(v1[0] - v2[0]) <= k ? "Yes" : "No") << endl;
- return;
- }
- for (int i = 0; i < n - 1; i += 2)
- {
- if ((abs(v1[i] - v2[i + 1]) <= k and (c1 or c4)) or (abs(v1[i] - v1[1 + i]) <= k and (c1 or c4)) or (abs(v2[i] - v1[i + 1]) <= k and (c2 or c3)) or (abs(v2[i] - v2[1 + i]) <= k and (c2 or c3)))
- {
- flag = true;
- if (abs(v1[i] - v2[i + 1]) <= k)
- c2 = true;
- else
- c2 = false;
- if (abs(v2[i] - v2[1 + i]) <= k)
- c3 = true;
- else
- c3 = false;
- if (abs(v2[i] - v1[i + 1]) <= k)
- c1 = true;
- else
- c1 = false;
- if (abs(v1[i] - v1[1 + i]) <= k)
- c4 = true;
- else
- c4 = false;
- }
- else
- {
- flag = false;
- break;
- }
- }
- cout << (flag ? "Yes" : "No") << endl;
- }
- int main()
- {
- Warding();
- int t = 1;
- // cin >> t;
- while (t--)
- {
- solve();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment