Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- bool DP [5002][5002];
- //int pr[1000001];
- int minpr=INT_MIN;
- int outp=INT_MAX;
- int pr[5002];
- int N,K;
- void nonna(int n,int Pancia,int Mangiati)
- {
- if(n==0 || Pancia<=0)
- {
- if(Mangiati>=K)
- {
- outp=min(outp,Mangiati);
- return 0;
- }
- }else if(!DP[n][Pancia])
- {DP[n][Pancia]=true;
- nonna(n-1,Pancia-pr[n],Mangiati+pr[n]);
- nonna(n-1,Pancia,Mangiati);
- }
- return 0;
- }
- int main ()
- {
- #ifdef EVAL
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- freopen("input.txt","r",stdin);
- freopen("output.txt","w",stdout);
- #endif
- cin>>N>>K;
- for(int i=1;i<=N;i++)
- {
- cin>>pr[i];
- }
- nonna(N,K,0);
- cout<<outp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement