Pagini recente » Cod sursa (job #131597) | Cod sursa (job #2962148) | Cod sursa (job #283825) | Cod sursa (job #1354950) | Cod sursa (job #1158720)
#include <fstream>
#include <climits>
#include <cstring>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,W,i,j,E[1001],C[1001],a[5001],b[5001];
int main(){
f>>n>>W;
for(i=1;i<=n;i++)
f>>E[i]>>C[i];
memset(b,INT_MAX,sizeof(b));
for(i=1;i<=n;i++){
for(j=1;j<=W;j++){
if(E[i]>=j) a[j]=min(C[i],b[j]);
else a[j]=min(b[j],b[j-E[i]]+C[i]);
}
for(j=1;j<=W;j++) b[j]=a[j];
}
if(a[W]==INT_MAX) g<<-1;
else g<<a[W];
}