fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long long powe(long long int a,long long int b)
  5. {
  6. long long ans,p;
  7. ans=1;
  8. p=a;
  9. while(b>0)
  10. {
  11. if(b&1)
  12. {
  13. ans=(ans*p)%1000000007;
  14. }
  15. p=(p*p)%1000000007;
  16. b=b>>1;
  17. }
  18. return ans;
  19. }
  20.  
  21. int main() {
  22. // your code goes here
  23. long long int t,n,i,j,k,g,h,maxi,sum_so_far,fl,st,en,pst,pen,ps;
  24. map<long long int,long long int> ma;
  25. vector<long long> v(10000001,0),va;
  26.  
  27. ios::sync_with_stdio(0);
  28. cin.tie(0);
  29. cin>>t;
  30. while(t--)
  31. {
  32. cin>>n>>k;
  33. h=max(k,n-k);
  34. ps=1;
  35. for(i=n;i>h;i--)
  36. {
  37. ps=ps%1000000007;
  38. i=i%1000000007;
  39. ps=(ps*i)%1000000007;
  40. ps=ps%1000000007;
  41. }
  42. ps=ps%1000000007;
  43. g=min(k,n-k);
  44. for(i=1;i<=g;i++)
  45. {
  46. en=powe(i,1000000005);
  47. en=en%1000000007;
  48. ps=ps%1000000007;
  49. ps=ps*en;
  50. // cout<<ps<<" ";
  51. ps=ps%1000000007;
  52. }
  53. cout<<ps<<"\n";
  54.  
  55. }
  56. return 0;
  57. }
Success #stdin #stdout 0.03s 81148KB
stdin
5
4 2
3 1
25 12
30 14
6 4
stdout
6
3
5200300
145422675
15