Pagini recente » Cod sursa (job #1905651) | Cod sursa (job #2850806) | Cod sursa (job #3217212) | Cod sursa (job #909182) | Cod sursa (job #2325500)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,val;
int w[1005],v[1005];
int dp[10011005];
int main(){
int i,j,sum1=0,sum=0,answer=1000000000,ok=0;
fin>>n>>val;
for(i=1;i<=n;i++){
fin>>w[i]>>v[i];
sum1+=w[i];
}
dp[0]=0;
for(i=1;i<=sum1;i++)
dp[i]=1000000000;
for(i=1;i<=n;i++){
sum+=w[i];
for(j=sum;j>=w[i];j--)
dp[j]=min(dp[j],v[i]+dp[j-w[i]]);
}
for(i=val;i<=sum;i++)
if(dp[i]<answer){
answer=dp[i];
ok=1;
}
if(ok)
fout<<answer;
else
fout<<-1;
return 0;
}