Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <algorithm>
- using namespace std;
- int n,k,s;
- int m[30];
- int dp[1000001];
- int main()
- {
- scanf("%d%d%d",&n,&k,&s);
- for (int i=0;i<n;i++)
- scanf("%d",&m[i]);
- for (int i=0;i<=s;i++) dp[i] = 1000000000;
- dp[0] = 0;
- for (int i=0;i<n;i++)
- {
- for (int j=s; j>=m[i]; j--)
- {
- dp[j] = min(dp[j], 1+dp[j-m[i]]);
- }
- }
- int wyn;
- for (int i=s; i>=0; i--)
- {
- if (dp[i] <= k)
- {
- wyn = i;
- break;
- }
- }
- printf("%d\n",wyn);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement