Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int a[100];
  4. int dp[100];
  5. int main()
  6. {
  7. int n, T;
  8. cin>>n>>T;
  9. for (int i=0; i<=T; i++)
  10. dp[i]=100000;
  11. for (int i=0; i<n; i++)
  12. {
  13. cin>>a[i];
  14. dp[a[i]]=i;
  15. }
  16. //COUT
  17. for(int i=0; i<=T; i++)
  18. cout<<dp[i]<<' ';
  19. cout<<endl;
  20.  
  21. for (int i=0; i<n; i++) //числа из массива
  22. for(int k=T; k>=0; k--) //сумма, которую получаем
  23. {
  24. cout<<k<<
  25. dp[k+a[i]]=min(dp[k+a[i]], i);
  26. }
  27. //COUT
  28. for(int i=0; i<=T; i++)
  29. cout<<dp[i]<<' ';
  30. cout<<endl;
  31. int p;
  32. for (int i=T; i>=0; i--)
  33. if(dp[i]!=100000)
  34. {
  35. p=i;
  36. cout<<"max sum="<<i<<endl;
  37. break;
  38. }
  39. int i=p;
  40. while (i!=0)
  41. {
  42. cout<<dp[i]<<' ';
  43. i=dp[i];
  44. }
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement