Pagini recente » Cod sursa (job #2183509) | Cod sursa (job #2615175) | Cod sursa (job #1912070) | Cod sursa (job #2558324) | Cod sursa (job #2042807)
#include <fstream>
#define inf 100002
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int n,k,e[1001],c[1001],cost[10001];
int main()
{
int i,j;
in >> n >> k;
for(i=1;i<=n;i++)
in >> e[i] >> c[i];
for(i=1;i<=k;i++)
cost[i]=inf;
for(i=1;i<=n;i++)
{
for(j=k;j-e[i]>=0;j--)
if(cost[j-e[i]]+c[i]<cost[j])
cost[j]=cost[j-e[i]]+c[i];
for(j=1;j<e[i];j++)
if(c[i]<cost[j])
cost[j]=c[i];
}
if(cost[k]==inf)
out << -1;
else
out<<cost[k];
in.close();
out.close();
return 0;
}