Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define all(a) (a).begin(), (a).end()
- #define int long long
- const int maxn = 200500;
- const int mod = 1000000007;
- int y[maxn];
- vector<vector<int> > x;
- void solve() {
- int n, m;
- cin >> n >> m;
- x.resize(m + 1);
- for (int i = 0; i < n; ++i) {
- int l, r;
- cin >> l >> r;
- y[r] += l;
- x[r].push_back(l);
- }
- for (int i = 1; i <= m; ++i) {
- y[i] += y[i - 1];
- y[i] %= mod;
- }
- int ans = 0;
- int cur = 0;
- for (int r = 1; r <= m; ++r) {
- for (int l : x[r]) {
- cur += y[l - 1];
- }
- ans += cur;
- ans %= mod;
- cur %= mod;
- }
- cout << ans << '\n';
- memset(y, 0, sizeof(int) * (m + 1));
- x.clear();
- }
- signed main() {
- ios::sync_with_stdio(0); cin.tie(0);
- int t;
- cin >> t;
- while (t--)
- solve();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement