Advertisement
Guest User

kloc na klate

a guest
Sep 19th, 2014
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.52 KB | None | 0 0
  1. #include <cstdio>
  2. #include <algorithm>
  3. using namespace std;
  4. int n,k,s;
  5. int m[30];
  6. int dp[1000001];
  7. int main()
  8. {
  9.   scanf("%d%d%d",&n,&k,&s);
  10.   for (int i=0;i<n;i++)
  11.     scanf("%d",&m[i]);
  12.   for (int i=0;i<=s;i++) dp[i] = 1000000000;
  13.   dp[0] = 0;
  14.   for (int i=0;i<n;i++)
  15.   {
  16.     for (int j=s; j>=m[i]; j--)
  17.     {
  18.       dp[j] = min(dp[j], 1+dp[j-m[i]]);
  19.     }  
  20.   }
  21.   int wyn;
  22.   for (int i=s; i>=0; i--)
  23.   {
  24.     if (dp[i] <= k)
  25.     {
  26.       wyn = i;
  27.       break;
  28.     }
  29.   }
  30.   printf("%d\n",wyn);
  31.   return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement