// 嘘貪欲かもしれない #include #include using namespace std; int main(){ int n; cin >> n; int a[n+2], b[n+2]; for(int i = 0; i <= n; i++) cin >> a[i]; for(int i = 0; i <= n; i++) cin >> b[i]; a[n+1] = b[n+1] = -100001; multiset s; for(int i = 0; i < n; i++){ int x; cin >> x; s.insert(x); } int aind = 0, bind = 0, ans = 0; while(!s.empty() && a[aind]+b[bind] > 0){ if(a[aind]-a[aind+1] > b[bind]-b[bind+1]) bind++; else aind++; auto it = s.upper_bound(a[aind]+b[bind]); if(it == s.begin()) break; ans++; s.erase(--it); } cout << ans << endl; return 0; }