Cod sursa(job #2188828)
Utilizator | Data | 27 martie 2018 15:07:18 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int v[5005];
int n,x,y,m;
int main(){
f>>n>>m;
for(int i=1; i<=m; i++)
v[i] = 5000001;
for(int i=1; i<=n; i++){
f>>x>>y;
for(int 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] != 5000001) g<<v[m];
else g<<-1;
}