Advertisement
Gosunov

Untitled

Sep 22nd, 2022
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define all(a) (a).begin(), (a).end()
  4. #define int long long
  5.  
  6. const int maxn = 200500;
  7. const int mod = 1000000007;
  8.  
  9. int y[maxn];
  10. vector<vector<int> > x;
  11.  
  12. void solve() {
  13.     int n, m;
  14.     cin >> n >> m;
  15.     x.resize(m + 1);
  16.     for (int i = 0; i < n; ++i) {
  17.         int l, r;
  18.         cin >> l >> r;
  19.         y[r] += l;
  20.         x[r].push_back(l);
  21.     }
  22.  
  23.     for (int i = 1; i <= m; ++i) {
  24.         y[i] += y[i - 1];
  25.         y[i] %= mod;
  26.     }
  27.    
  28.     int ans = 0;
  29.     int cur = 0;
  30.     for (int r = 1; r <= m; ++r) {
  31.         for (int l : x[r]) {
  32.             cur += y[l - 1];
  33.         }
  34.         ans += cur;
  35.         ans %= mod;
  36.         cur %= mod;
  37.     }
  38.     cout << ans << '\n';
  39.  
  40.     memset(y, 0, sizeof(int) * (m + 1));
  41.     x.clear();
  42. }
  43.  
  44. signed main() {
  45.     ios::sync_with_stdio(0); cin.tie(0);
  46.     int t;
  47.     cin >> t;
  48.     while (t--)
  49.         solve();
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement