Pagini recente » Concursuri organizate de infoarena | Cod sursa (job #2429117) | Cod sursa (job #3283625) | Cod sursa (job #3290895) | Cod sursa (job #866203)
Cod sursa(job #866203)
#include <fstream>
#define inf 10002
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,P,v[1001],c[1001],s[10001];
int main()
{
int i,j;
fin>>n>>P;
for (i=1;i<=n;i++) fin>>v[i]>>c[i];
for (i=1;i<=P;i++) s[i]=inf;
for (i=1;i<=n;i++)
{
for (j=P;j-v[i]>=0;j--) if (s[j-v[i]]+c[i]<s[j]) s[j]=s[j-v[i]]+c[i];
for (j=1;j<v[i];j++) if (c[i]<s[j]) s[j]=c[i];
}
if (s[P]==inf) fout<<-1;
else fout<<s[P];
}