Advertisement
a53

LOSTonYOU

a53
Oct 5th, 2017
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. ifstream f("lostonyou.in");
  4. ofstream g("lostonyou.out");
  5. const int MOD = 666013;
  6. int C[1002][1002],n,c[5],i,j,v,p,t,d,U,D,T,P,pd,pt,pp;
  7. long long sol,y,x;
  8. int main()
  9. {
  10. f>>n>>v;
  11. for(i=0; i<=n; i++)C[i][0]=1;
  12. for(i=1; i<=n; i++)
  13. for(j=1; j<=i; j++)
  14. C[i][j]=(C[i-1][j-1]+C[i-1][j])%MOD;
  15. for(i=1; i<=n; i++)
  16. {
  17. f>>j;
  18. c[j]++;
  19. }
  20. U=c[1];
  21. D=c[2];
  22. T=c[3];
  23. P=c[4];
  24. x=1;
  25. for(;U; U--)
  26. x=(2*x)%MOD;
  27. for(d=0,pd=1; d<=D&&pd<=v; d++,pd*=2)
  28. for(t=0,pt=1; t<=T&&pd*pt<=v; t++,pt*=3)
  29. for(p=0,pp=1; p<=P&&pd*pt*pp<=v; p++,pp*=4)
  30. {
  31. y=1LL*C[D][d]*C[T][t]%MOD;
  32. y=y*C[P][p]%MOD;
  33. sol=(sol+y)%MOD;
  34. }
  35. sol=sol*x%MOD;
  36. sol=(sol+MOD-1)%MOD;
  37. g<<sol;
  38. return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement