Cod sursa(job #1112548)
| Utilizator | Data | 19 februarie 2014 20:38:34 | |
|---|---|---|---|
| Problema | Energii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream inputeaza("energii.in");
ofstream outputeaza("energii.out");
#define inf 1<<30
int a[100000],i,j,c,p,g,w;
int main(){
inputeaza >> g >> w;
for (i=1; i<=w+10001; i++) a[i]=inf;
for (i=1; i<=g; i++){
inputeaza >> p >> c;
for (j=w; j>=0; j--)
if (a[j]+c<a[j+p]) a[j+p]=a[j]+c;
}
c=inf;
for (i=w; i<=w+10001; i++) if (a[i]<c) c=a[i];
if (c==inf) outputeaza << "-1"; else outputeaza << c;
return 0;
}