Advertisement
Guest User

Uva 11517

a guest
Apr 18th, 2015
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.44 KB | None | 0 0
  1.  
  2. #include <bits/stdc++.h>
  3.  
  4. #define FOR(i, s, e) for(int i=s; i<e; i++)
  5. #define loop(i, n) for(int i=0; i<n; i++)
  6. #define getint(n) scanf("%d", &n)
  7. #define pb(a) push_back(a)
  8. #define ll long long int
  9. #define dd double
  10. #define SZ(a) int(a.size())
  11. #define read() freopen("input.txt", "r", stdin)
  12. #define write() freopen("output.txt", "w", stdout)
  13. #define mem(a, v) memset(a, v, sizeof(a))
  14. #define all(v) v.begin(), v.end()
  15. #define pi acos(-1.0)
  16. #define pf printf
  17. #define sf scanf
  18. #define mp make_pair
  19. #define paii pair<int, int>
  20. #define padd pair<dd, dd>
  21. #define pall pair<ll, ll>
  22. #define fr first
  23. #define sc second
  24. #define getlong scanf("%lld",&n)
  25. #define CASE(n) printf("Case %d: ",++n)
  26. #define inf 1000000
  27. #define EPS 1e-9
  28.  
  29. using namespace std;
  30.  
  31. int fx[]={0,0,1,-1,1,1,-1,-1};
  32. int fy[]={1,-1,0,0,1,-1,1,-1};
  33.  
  34. int main()
  35. {
  36.     int t,cas=0;
  37.     cin>>t;
  38.     int dp[20005],coin[105];
  39.     while(t--)
  40.     {
  41.         int tk,n,maxi=0;
  42.         cin>>tk>>n;
  43.         loop(i,n){
  44.         cin>>coin[i];
  45.         maxi=max(maxi,coin[i]);
  46.         }
  47.         mem(dp,inf);
  48.         dp[0]=0;
  49.         for(int i=0;i<n;i++)
  50.         {
  51.             for(int j=coin[i];j<=maxi+tk;j++){
  52.                 dp[j]=min(dp[j],dp[j-coin[i]]+1);
  53.             }
  54.         }
  55.         for(int i=tk;i<=maxi+tk;i++)
  56.         {
  57.             if(dp[i]<inf){
  58.                 cout<<i<<" "<<dp[i]<<endl;
  59.                 break;
  60.             }
  61.         }
  62.     }
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement