Pagini recente » Cod sursa (job #1017541) | Cod sursa (job #1703722) | Cod sursa (job #1908737) | Cod sursa (job #1393421) | Cod sursa (job #2515081)
//#include <iostream>
#include <fstream>
using namespace std;
int n,k,minim=9999999;
pair<int,int> v[1005];
long long ruc[150005],cost[15005];
int main()
{
ifstream cin("energii.in");
ofstream cout("energii.out");
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>v[i].first>>v[i].second;
}
for(int i=1;i<=15000;i++)
cost[i]=999999999;
for(int i=1;i<=n;i++){
for(int j=15000;j>=0;j--){
if(j+v[i].first>15000)
continue;
cost[j+v[i].first]=min(cost[j+v[i].first],cost[j]+v[i].second);
}
}
for(int i=k;i<=15000;i++){
if(cost[i]!=0){
if(minim>cost[i])
minim=cost[i];
}
}
//for(int i=0;i<=20;i++)
// cout<<i<<" "<<cost[i]<<"\n";
if(minim==9999999)
cout<<-1;
else
cout<<minim;
return 0;
}