Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #include <ext/pb_ds/assoc_container.hpp>
- #include <ext/pb_ds/tree_policy.hpp>
- #define Num_of_Digits(n) ((int)log10(n) + 1)
- #define sz(x) int(x.size())
- #define all(vec) vec.begin(), vec.end()
- #define rall(vec) vec.rbegin(), vec.rend()
- #define fixed(n) fixed << setprecision(n)
- #define ll long long
- #define ull unsigned long long
- #define ceil(w, m) (((w) / (m)) + ((w) % (m) ? 1 : 0))
- #define PI 3.14159
- #define OO 2000000000
- #define cin(v) for (auto&i:v) cin >> i;
- #define cout(v) for (auto&i:v) cout << i << " "; cout << "\n";
- #define cin_2d(vec, n, m) for(int i = 0; i < n; i++) for(int j = 0; j < m && cin >> vec[i][j]; j++);
- //#define Time cerr << "Time Taken: " << (float)clock() / CLOCKS_PER_SEC << " Secs" << "\n";
- #define MOD 1000000007
- #define multiOrderedSet tree <int, null_type, greater<int>, rb_tree_tag,tree_order_statistics_node_update>
- #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
- using namespace std;
- using namespace __gnu_pbds;
- void btats()
- {
- ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
- #endif
- //freopen("input.txt", "r", stdin);
- //freopen("output.txt", "w", stdout);
- }
- int sz;
- vector <ll> v;
- int bs(int value)
- {
- int r = sz, l = -1;
- while(l < r - 1)
- {
- int mid = l + (r - l) / 2;
- if(v[mid] <= value)
- l = mid;
- else
- r = mid;
- }
- return ++l;
- }
- void solve()
- {
- ll l , r , ans = 0;
- cin >> sz >> l >> r;
- v = vector <ll> (sz);
- cin(v);
- sort(all(v));
- for(int i = 0; i < sz; i++)
- {
- int low = l - v[i];
- int high = r - v[i];
- ans += bs(high);
- ans -= bs(low - 1);
- if(l <= 2 * v[i] and 2 * v[i] <= r)
- ans--;
- }
- cout << ans / 2;
- }
- int main()
- {
- btats();
- int test = 1;
- cin >> test;
- while(test--)
- {
- solve();
- cout << "\n";
- }
- //Time
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement