Pagini recente » Cod sursa (job #734138) | Diferente pentru problema/concurs2 intre reviziile 2 si 5 | Cod sursa (job #1291244) | Cod sursa (job #2510307) | Cod sursa (job #2180998)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("mmm.in");
ofstream fout("mmm.out");
int n,w,A[1010],B[1010],C[5010];
int main(){
fin>>n>>w;
for(int i=1; i<=n; i++) fin>>A[i]>>B[i];
for(int i=1; i<=w; i++) C[i]=100000;
for(int i=1;i<=n; i++){
for(int j=w; j>=1; j--){
if(j<A[i]) C[j]=min(C[j],B[i]);
else C[j]=min(C[j],C[j-A[i]]+B[i]);
}
}
if(C[w]==100000) fout<<-1;
else fout<<C[w];
}