Cod sursa(job #2277120)
Utilizator | Rosca Rares Raresr14 | Data | 5 noiembrie 2018 20:04:00 |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
#define INF 100000
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int i,j,D[10001],G,p[10001],c[10001],n,minim,w;
int main(){
fin>>n>>G;
for(i=1;i<=n;i++)
fin>>p[i]>>c[i];
for(i=1;i<=G;i++)
D[i]=INF;
for(i=1;i<=n;i++)
for(j=G;j>=0;j--)
if(D[j]!=INF){
w=j+p[i];
if(w>G)
w=G;
D[w]=min(D[w],D[j]+c[i]);
}
if(D[G]==INF)
fout<<-1;
else
fout<<D[G];
return 0;
}