Cod sursa(job #2044948)
| Utilizator | Data | 21 octombrie 2017 17:06:17 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int c[1001];
#define inf 987654321
int main()
{
int n,et;
f>>n;
f>>et;
int i,j;
for(i=1;i<=et;i++)
c[i]=inf;
for(i=1;i<=n;i++)
{
int cost,e;
f>>e>>cost;
for(j=et;j>=e;--j)
{
if(c[j]>c[j-e]+cost)
c[j]=c[j-e]+cost;
}
for(int ii=e;ii>=1;--ii)
if(c[ii]>cost)
c[ii]=cost;
}
if(c[et]!=inf)
g<<c[et];
else
g<<"-1";
return 0;
}
