Pagini recente » Cod sursa (job #2312713) | Cod sursa (job #1253907) | Cod sursa (job #2478787) | Cod sursa (job #2350810) | Cod sursa (job #1018622)
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int mini(int a,int b)
{
if (a<b) return a;
return b;
}
int e[1001],c[1001],n,en,i,j,d[1001][5001];
long long s;
int main()
{
f>>n>>en;
for (i=0;i<=n;i++)
for (j=0;j<=en;j++)
d[i][j]=1<<31-1;
for (i=1;i<=n;i++)
f>>e[i]>>c[i],s+=e[i];
if (s<en) g<<'-1';
else{
for (i=1;i<=n;i++)
for (j=0;j<=en;j++)
{
d[i][j]=d[i-1][j];
if (e[i]>=j) d[i][j]=mini(d[i][j],c[i]);
else d[i][j]=mini(d[i][j],d[i][j-e[i]]+c[i]);
}
g<<d[n][en];
}
return 0;
}