fork(1) download
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<ctype.h>
  5. #include<cmath>
  6. #include<vector>
  7. #include<map>
  8. #include<list>
  9. #include<stack>
  10. #include<queue>
  11. #include<algorithm>
  12. #define pi pair<int,int>
  13. #define ppi pair<int,pair<int,int> >
  14. #define pip pair<pair<int,int>,int>
  15. #define pipi pair<pair<int,int>,pair<int,int> >
  16. #define vi vector<int>
  17. #define vc vector<char>
  18. #define vll vector<ll>
  19. #define mp make_pair
  20. #define Min(a,b)((a<b)?a:b)
  21. #define Max(a,b)((a>b)?a:b)
  22. #define Swap(a,b)(a=b+a-(b=a))
  23. #define sfd(d) scanf("%d",&d)
  24. #define sfld(d) scanf("%lld",&d)
  25. #define sff(d) scanf("%f",&d)
  26. #define sfc(ch) scanf("%c",&ch)
  27. #define sfs(s) scanf("%s",s)
  28. #define pfd(d) printf("%d",d)
  29. #define pfld(d) printf("%lld",d)
  30. #define el putchar('\n')
  31. #define sp putchar(' ')
  32. #define Fill(a,val) memset(a,val,sizeof a)
  33. #define pb push_back
  34. #define ppb pop_back
  35. #define INF 123456789
  36. #define mod 1000000007
  37. #define ll long long int
  38. #define si short int
  39. #define gcd __gcd
  40. #define all(a) a.begin(),a.end()
  41. #define T(x) strtok(x, " \n\r\t")
  42. using namespace std;
  43. ll F(ll n){
  44. return n*(2*n+1)*(n+1)*(3*n*(n+1)-1)/30;
  45. }
  46. ll f(ll n,ll m){
  47. ll cur = 0,x = n,res = 0,k = 1;
  48. while (1){
  49. x = n/k;
  50. res = (res + F(x)*(n/x - cur))%m;
  51. if (x == 1)
  52. break;
  53. cur = n/x;
  54. k = max(k + 1 , n / (x-1));
  55. }
  56. return res;
  57. }
  58. int main() {
  59. int t;sfd(t);
  60. while(t--) {
  61. for(int i=0;i<t;++i){
  62. ll n,m;
  63. sfld(n);
  64. sfld(m);
  65. pfld(f(n,m));el;
  66. }
  67. }
  68. return 0;
  69. }
  70.  
Success #stdin #stdout 2.14s 2736KB
stdin
10
10000000000 100000
10000000000 100000
10000000000 100000
10000000000 100000
10000000000 100000
10000000000 100000
10000000000 100000
10000000000 100000
10000000000 100000
10000000000 100000
stdout
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114
40114