算法
(排序) $O(n\log n + q)$
考虑把数组 $c$ 减去数组 $t$,得到差分数组 $d$
然后将 $d$ 做降序排序,如果 $d[v] > S$,则为 YES
,否则为 NO
C++ 代码
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
using namespace std;
int main() {
int n, q;
cin >> n >> q;
vector<int> c(n), t(n);
rep(i, n) cin >> c[i];
rep(i, n) cin >> t[i];
vector<int> d(n);
rep(i, n) d[i] = c[i]-t[i];
sort(d.rbegin(), d.rend());
rep(qi, q) {
int v, s;
cin >> v >> s;
--v;
if (s < d[v]) puts("YES");
else puts("NO");
}
return 0;
}