#include #include #include using namespace std; int main() { int n, k; cin >> n >> k; vector x(n), a(n); for (int i = 0; i < n; ++i) { cin >> x[i]; } for (int i = 0; i < n; ++i) { cin >> a[i]; } long long frontX = x[k - 1] - a[k - 1]; long long backX = x[k - 1] + a[k - 1]; int frontIndex = k - 1 - 1; int backIndex = k - 1 + 1; for (;;) { bool newlySung = false; if (frontIndex >= 0 && frontX <= x[frontIndex]) { frontX = min(frontX, x[frontIndex] - a[frontIndex]); backX = max(backX, x[frontIndex] + a[frontIndex]); --frontIndex; newlySung = true; } if (backIndex < n && x[backIndex] <= backX) { backX = max(backX, x[backIndex] + a[backIndex]); frontX = min(frontX, x[backIndex] - a[backIndex]); ++backIndex; newlySung = true; } if (!newlySung) { break; } } cout << (backIndex - frontIndex - 2 + 1) << endl; return 0; }