#include <ios> #include <iostream> #include <queue> #include <vector> using namespace std; int main() { int n,k,a, b; cin >> n >> k >> a >> b; vector<int> power(n),cooperation(n); for(int i=0;i<n;i++) cin>>power[i]; for(int i=0;i<n;i++) cin>>cooperation[i]; //滑动窗口法 int left =0,right =0; int capability=0,cooper=0;//窗口内能力 int res=0;//方案个数 int valid_need = k; int valid = 0; // vector<int> pow(k),coop(k); queue<int> pow1,cop; while(right<n){ pow1.push(power[right]); cop.push(cooperation[right]); // pow.push_back(power[right]); // coop.push_back(cooperation[right]); if(power[right]>=a && cooperation[right]>=b) valid++; right++; while(left<=right && right-left>k){ //需要收缩 pow1.pop(); cop.pop(); if(power[left]>=a && cooperation[left]>=b) valid--; // capability -= power[left]; // cooper -= cooperation[left]; left++; } //只剩下窗口小于等于k的情况 if(right-left==k){ if(valid==valid_need) { // cout<<capability<<" " <<cooper<<endl; res+=1; } } } cout<<res<<endl; } // 64 位输出请用 printf("%lld")