Cod sursa(job #1874263)
| Utilizator | Data | 9 februarie 2017 20:41:55 | |
|---|---|---|---|
| Problema | Energii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<bits/stdc++.h>
#define N 5050
using namespace std;
int e[1020], g, dp[N], c[1020], i, w, j;
int main(){
ifstream fin("energii.in");
ofstream fout("energii.out");
fin>>g>>w;
for(i=1;i<=g;i++) {
fin>>e[i]>>c[i];
}
for(i=0;i<=w;i++) dp[i]=999999;
for(i=1;i<=g;i++)
for(j=w; j>=1;j--){
if (e[i]<j) dp[j]=min(dp[j-e[i]]+c[i], dp[j]);
else dp[j] = min(dp[j], c[i]);
}
if(dp[w]==999999)fout<<-1; else fout<<dp[w];
return 0;
}
