Pagini recente » Cod sursa (job #543196) | Cod sursa (job #2494985) | Cod sursa (job #372674) | Cod sursa (job #1380740) | Cod sursa (job #507777)
Cod sursa(job #507777)
#include <fstream>
using namespace std;
const int W = 10001;
ifstream in("energii.in");
ofstream out("energii.out");
int n, wmin = 1000000,w;
struct generator{
int e,c;
} v[1<<10];
int consum [W];
int min(int x,int y){
if(x<y)
return x;
return y;
}
void prelucrare(){
int i,j;
for(i=1;i<=n;i++){
for(j=w;j>0;j--){
if(consum[j]!=0){
consum[j+v[i].e]=min(consum[j+v[i].e],consum[j]+v[i].c);
}
}
if(consum[v[i].e]!=0)
consum[v[i].e]=min(consum[v[i].e],v[i].c);
else
consum[v[i].e]=v[i].c;
}
for(j=w;j<W;j++){
if(consum[j]<wmin && consum[j]>0)
wmin=consum[j];
}
out<<wmin;
}
int main(){
in>>n>>w;
int i;
for(i=1;i<=n;i++){
in>>v[i].e>>v[i].c;
}
prelucrare();
return 0;
}