fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int D[10001];
  5. int main() {
  6. int T;
  7. scanf("%d", &T);
  8. int N;
  9. int money, t;
  10. scanf("%d", &N);
  11. for(int i=0; i<N; i++){
  12. scanf("%d %d", &money, &t);
  13. int add_cnt=0;
  14. for(int j=10000; j>=1; j--){
  15.  
  16. for(int k=1; k<=t; k++){
  17. if(j-money*k==0)
  18. D[j]++;
  19. if(j-money*k>0 && D[j-money*k]!=0){
  20. D[j]+=D[j-money*k];
  21. }
  22. }
  23. }
  24. }
  25. for(int i=1; i<=T; i++){
  26. printf("i = %d, D[i] =%d\n", i, D[i]);
  27. }
  28. //printf("%d\n", D[T]);
  29. return 0;
  30. }
Success #stdin #stdout 0s 3508KB
stdin
20
3
5 3
10 2
1 5
stdout
i = 1, D[i] =1
i = 2, D[i] =1
i = 3, D[i] =1
i = 4, D[i] =1
i = 5, D[i] =2
i = 6, D[i] =1
i = 7, D[i] =1
i = 8, D[i] =1
i = 9, D[i] =1
i = 10, D[i] =3
i = 11, D[i] =2
i = 12, D[i] =2
i = 13, D[i] =2
i = 14, D[i] =2
i = 15, D[i] =4
i = 16, D[i] =2
i = 17, D[i] =2
i = 18, D[i] =2
i = 19, D[i] =2
i = 20, D[i] =4