Pagini recente » Cod sursa (job #1576096) | Cod sursa (job #2583629) | Cod sursa (job #1556191) | Cod sursa (job #162804) | Cod sursa (job #469980)
Cod sursa(job #469980)
#include<fstream>
#include<bitset>
#include<vector>
using namespace std;
#define nm 5001
#define min(x,y) ((x)<(y)?(x):(y))
ifstream f("energii.in");
ofstream g("energii.out");
vector<int>e,ct;
int map[1002][nm+1];
int n,ec,min1,i,j;
int main()
{ f>>n>>ec;
e.resize(n+2,0);
ct.resize(n+2,0);
for(i=1;i<=n;i++)
{ f>>e[i]>>ct[i];
for(j=1;j<=nm;j++)
map[i][j]=-1 , map[0][j]=500000;
}
min1=100000;
for(i=1;i<=n;i++)
for(j=1;j<=nm;j++)
map[i][j]=min(map[i-1][j],map[i-1][j-e[i]]+ct[i]);
for(i=ec;i<=nm;i++)
for(j=1;j<=n;j++)
if(min1>map[j][i]&&map[j][i]!=-1)
min1=map[j][i];
if(min1!=100000)
g<<min1;
else g<<-1;
f.close();
g.close();
return 0;
}