fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. long long n, m;
  6. scanf("%lld", &n);
  7. scanf("%lld", &m);
  8. long long i, j, a[10005]={0}, x;
  9. a[0]=1;
  10. a[1]=1;
  11. a[2]=2%m;
  12.  
  13.  
  14. for(i=3; i<=n; i++){
  15. for(j=0; j<=(i-1)/2; j++){
  16. a[i]=(a[i]+a[i-1-j]*a[j])%m;
  17. }
  18. a[i]=a[i]*2%m;
  19. // if(i%2==0) a[i]=(a[i/2]+a[i/2-1])%m;
  20. if(i%2==1) a[i]=(a[i]-a[(i-1)/2]*a[(i-1)/2])%m;
  21.  
  22. }
  23. x=a[n]%m;
  24. printf("%d", x);
  25. }
Success #stdin #stdout 0s 15232KB
stdin
100 10000
stdout
-680