fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. const ll p = 1e9 + 7;
  5. ll n, L, R, q;
  6. ll add(ll x, ll y){return (x % p + y % p + p) % p;}
  7. ll mul(ll x, ll y){return (x % p * y % p) % p;}
  8.  
  9. ll C(ll x){
  10. if(x < 2) return 0LL;
  11. if(x == 2) return 1LL;
  12. ll a = x;
  13. ll b = x - 1;
  14. if(b % 2 == 0) b /= 2;
  15. else a /= 2;
  16. return mul(a, b);
  17. }
  18.  
  19. int main(){
  20. freopen("love.inp", "r", stdin);
  21. freopen("love.out", "w", stdout);
  22. cin >> q;
  23. while(q--){
  24. cin >> L >> R >> n;
  25. ll a = C(R - L + 1) + R - L + 1;
  26. ll newL = (L - 1) / n, newR = R / n;
  27. ll b = add(C(R / n - (L - 1) / n), (newR - newL));
  28. cout << a - b << endl;
  29. }
  30.  
  31. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Standard output is empty