Pagini recente » Cod sursa (job #980908) | Cod sursa (job #664830) | Cod sursa (job #233974) | Cod sursa (job #558931) | Cod sursa (job #1045863)
#include <cstdio>
using namespace std;
const int INF = 1000000000;
struct centrala
{
int e,c;
};
centrala centrale[1002];
int ent[15002],g,w;
void energii()
{
int i,j;
for(j = 0;j <= w + 10000;j++)
{
ent[j] = INF;
}
ent[0] = 0;
for(i=0;i<g;i++)
{
for(j=w;j>=0;j--)
{
if(ent[j] != INF)
if(ent[j]+centrale[i].c<ent[j+centrale[i].e])
ent[j+centrale[i].e]=ent[j]+centrale[i].c;
}
}
}
int main()
{
FILE *in,*out;
in = fopen("energii.in","r");
out = fopen("energii.out","w");
int max = 0,i;
fscanf(in,"%d",&g);
fscanf(in,"%d",&w);
for(i=0;i<g;i++)
{
fscanf(in,"%d",¢rale[i].e);
fscanf(in,"%d",¢rale[i].c);
}
energii();
for(i = w,max = INF;i <= w + 10000;i++)
if(ent[i] < max)
max = ent[i];
fprintf(out,"%d",max);
return 0;
}