Advertisement
Guest User

Untitled

a guest
Aug 12th, 2013
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. int a[100001][101];
  5. int main()
  6. {
  7. int n;
  8. scanf("%d",&n);
  9. int temp;
  10. for(int i=0;i<=100000;i++)
  11. {
  12. for(int j=0;j<=100;j++)
  13. {
  14. a[i][j]=0;
  15. }
  16. }
  17. for(int i=1;i<=n;i++)
  18. {
  19. for(int j=1;j<=100;j++)
  20. a[i][j]=a[i][j]+a[i-1][j];
  21. scanf("%d",&temp);
  22. a[i][temp]++;
  23.  
  24. }
  25. /* for(int i=1;i<=n;i++)
  26. {
  27. for(int j=1;j<=5;j++)
  28. printf("%d",a[i][j]);
  29. cout<<"\n";
  30.  
  31. }*/
  32. int left,right;
  33. int mod;
  34. int t;
  35. scanf("%d",&t);
  36. long long int ans;
  37. long long int x;
  38. while(t--)
  39. {
  40. ans=1;
  41. scanf("%d",&left);
  42. scanf("%d",&right);
  43. scanf("%d",&mod);
  44. if(left==right)
  45. {
  46. for(int i=1;i<=100;i++)
  47. {
  48. ans=(ans*i)%mod;
  49. if(ans>mod) ans=ans%mod;
  50. ans=(ans*a[left][i])%mod;
  51. if(ans>mod) ans=ans%mod;
  52. }
  53.  
  54. }
  55. else{
  56.  
  57. for(int i=1;i<=100;i++)
  58. {
  59.  
  60. if(left>1)
  61. {
  62. x=a[right][i]-a[left-1][i];
  63. //cout<<"hiiii"<<x<<"\n";
  64. }
  65. else if (left==1)
  66. {
  67. x=a[right][i];
  68. //cout<<"hiiii"<<x<<"\n";
  69. }
  70.  
  71.  
  72. if(x>0)
  73. {/*ans=((ans%mod)*(i%mod)*(a[left][i]%mod))%mod;
  74. if(ans>mod)
  75. ans=ans%mod;*/
  76. ans=(ans*i)%mod;
  77. if(ans>mod) ans=ans%mod;
  78. ans=(ans*x)%mod;
  79. if(ans>mod) ans=ans%mod;
  80. }
  81.  
  82. //if(ans==0)
  83. //break;
  84. }
  85. }
  86. printf("%lld\n",ans);
  87.  
  88. }
  89. return 0;
  90. }
  91. /*
  92. 5
  93. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
  94. 4
  95. 1 2 3
  96. 2 3 4
  97. 1 1 1
  98. 1 5 1000000000
  99. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement