Pagini recente » Cod sursa (job #2831648) | Cod sursa (job #2075029) | Cod sursa (job #1022729) | Cod sursa (job #804071) | Cod sursa (job #507785)
Cod sursa(job #507785)
#include <fstream>
using namespace std;
int n,c;
struct generator
{
int e,c;
};
ifstream in("energii.in");
ofstream out("energii.out");
generator v[1001];
int das[15001];
void scrie()
{
for(int i=1 ; i <=12 ; ++i)
out<<das[i]<<" ";
out<<"\n";
}
int main()
{
int i,j;
in>>n>>c;
for(i=1;i<=n;i++)
in>>v[i].e>>v[i].c;
for(i=1;i<=n;i++)
{
for(j=c;j>=0;--j)
if(das[j])
if(das[j+v[i].e] == 0 || das[j] + v[i].c < das[j+v[i].e])
das[j+v[i].e]=das[j] + v[i].c;
if(das[v[i].e] == 0 || v[i].c < das[v[i].e])
das[v[i].e] = v[i].c;
}
//scrie();
int min=1<<30;
for(i=c;i<15001;i++)
if(das[i] && das[i]<min)
min=das[i];
if(min == 1<<30)
out<<-1;
else
out<<min;
return 0;
}