Cod sursa(job #1706284)
Utilizator | Data | 22 mai 2016 09:50:32 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.33 kb |
#include <fstream>
using namespace std;
ifstream r("energii.in");
ofstream w("energii.out");
int n,g,e,p,i,j,c[5001];
int main(){
r>>n>>g;for(i=1;i<=g;i++)c[i]=2000000;
for(i=1;i<=n;i++){r>>e>>p;
for(j=g;j>=0;j--)
if(j<=e){c[j]=min(c[j],p);}
else{c[j]=min(c[j],c[j-e]+p);}}
if(c[g]!=2000000){w<<c[g];}else{w<<"-1";}
return 0;}