Cod sursa(job #2978593)
Utilizator | Data | 13 februarie 2023 22:09:49 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in ("energii.in");
ofstream out("energii.out");
#define maxW 5000
int v[maxW+1];
int main() {
int g,w;
in>>g>>w;
for(int i=1;i<=w;i++){
v[i]=(1<<30);
}
for(int i=1;i<=g;i++){
int a,b;
in>>a>>b;
for(int j=w;j>=1;j--){
if(j>a){
v[j]=min(v[j],v[j-a]+b);
}
else{
v[j]=min(v[j],b);
}
}
}
if(v[w]==(1<<30)){
out<<"-1";
}
else{
out<<v[w];
}
}