Cod sursa(job #2188263)
| Utilizator | Data | 27 martie 2018 00:47:58 | |
|---|---|---|---|
| Problema | Energii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[5005];
int main(){
int n,m,x,y,i,j;
fin>>n>>m;
for(i = 1; i <= m; i++) v[i] = 5000000;
for(i = 1; i <= n; i++){
fin>>x>>y;
for(j = m; j >= 0; j--){
if(j+x < m){
v[j+x] = min(v[j+x],v[j]+y);
}
else{
v[m] = min(v[m],v[j]+y);
}
}
}
if(v[m] != 5000000) fout<<v[m];
else fout<<-1;
}
