Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define mp make_pair
- #define mt make_tuple
- #define fi first
- #define se second
- #define pb push_back
- #define all(x) (x).begin(), (x).end()
- #define rall(x) (x).rbegin(), (x).rend()
- #define forn(i, n) for (int i = 0; i < (int)(n); ++i)
- #define for1(i, n) for (int i = 1; i <= (int)(n); ++i)
- #define ford(i, a, b) for (int i = (int)(a); i >= (int)b; --i)
- #define fore(i, a, b) for (int i = (int)(a); i <= (int)(b); ++i)
- #define rep(i, l, r) for (int i = (l); i <= (r); i++)
- #define per(i, r, l) for (int i = (r); i >= (l); i--)
- #define ms(x, y) memset(x, y, sizeof(x))
- using namespace std;
- typedef pair<int, int> pii;
- typedef vector<int> vi;
- typedef vector<pii> vpi;
- typedef vector<vi> vvi;
- typedef long long i64;
- typedef vector<i64> vi64;
- typedef vector<vi64> vvi64;
- typedef pair<i64, i64> pi64;
- typedef double ld;
- template<class T> bool uin(T &a, T b) { return a > b ? (a = b, true) : false; }
- template<class T> bool uax(T &a, T b) { return a < b ? (a = b, true) : false; }
- i64 t, n, m, l, r, oo;
- int main() {
- ios::sync_with_stdio(false);
- cin.tie(nullptr);
- cout.precision(10);
- cout << fixed;
- #ifdef LOCAL_DEFINE
- freopen("in", "r", stdin);
- #endif
- cin >> t;
- while (t--) {
- cin >> n >> m;
- vector<i64> a(n);
- forn(i, n) {
- cin >> oo;
- oo = oo * oo;
- a[i] = oo;
- }
- sort(all(a));
- forn(i, m) {
- cin >> l >> r;
- i64 res = 0;
- auto it1 = lower_bound(a.begin(), a.end(), l);
- auto it2 = lower_bound(a.begin(), a.end(), r);
- res = it2 - it1;
- if (it2 != a.end() && *it2 == r) ++res;
- cout << res << '\n';
- }
- }
- #ifdef LOCAL_DEFINE
- cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
- #endif
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement