Cod sursa(job #2364217)
| Utilizator | Data | 3 martie 2019 22:40:00 | |
|---|---|---|---|
| Problema | Energii | Scor | 5 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[10001],last,n,m,i,j,x,y,k;
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++)v[i]=90000001;
v[0]=0;
for(i=1;i<=n;i++)
{
fin>>x>>y;
for(j=last;j>=0;j--)
if(j+x<=m)
if(v[j]!=90000001)
{
if(v[j+x]>v[j]+y)
v[j+x]=v[j]+y;
if(last<j+x)
last=j+x;
}
}
bool ok=0;
if(v[m]!=90000001)
{
ok=1;
fout<<v[m];
}
if(!ok)fout<<-1;
return 0;
}
