Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define cin(v) \
- for (auto &i : v) \
- cin >> i;
- #define cout(v) \
- for (auto &i : v) \
- cout << i << " ";
- #define br cout << '\n';
- #define ll long long
- #define pi 3.14159265359
- #define ull unsigned long long
- #define all(v) v.begin(), v.end()
- #define rall(v) v.rbegin(), v.rend()
- #define MOD 1000000007
- #define Time cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " Secs" \
- << "\n";
- 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()
- {
- int n, k;
- cin >> n >> k;
- vector<int> v(n), v2(n);
- for(auto&i:v)
- cin>>i;
- for(auto&i:v2)
- cin>>i;
- vector<ll> dp(n, 0), dp2(n, 0);
- dp[0] = dp2[0] = 1;
- for (int i = 1; i < n; i++)
- {
- if (dp[i - 1])
- {
- if (abs(v[i-1] - v[i]) <= k)
- dp[i] = 1;
- if (abs(v[i-1] - v2[i]) <= k)
- dp2[i] = 1;
- }
- if (dp2[i - 1])
- {
- if (abs(v2[i-1] - v[i]) <= k)
- dp[i] = 1;
- if (abs(v2[i-1] - v2[i]) <= k)
- dp2[i] = 1;
- }
- }
- cout << (dp[n - 1] == 1 || dp2[n - 1] == 1 ? "YES" : "NO") << '\n';
- }
- int main()
- {
- Warding();
- int t = 1;
- // cin >> t;
- while (t--)
- {
- solve();
- }
- Time
- }
Advertisement
Add Comment
Please, Sign In to add comment