Pagini recente » Cod sursa (job #1900819) | Cod sursa (job #1950080) | Cod sursa (job #1178765) | Cod sursa (job #1657527) | Cod sursa (job #220643)
Cod sursa(job #220643)
#include<stdio.h>
int v[1000001];
struct G_C{
int e,c;
};
int g,w;
int sum;
G_C energ[1001];
void reorder()
{
int i,j;
for(j=0;j<=sum;j++)
{
for(int k=0;k<g;k++)
{
for(i=0;i<g;i++)
{
if(i!=k&&energ[i].e!=j&&energ[i].c!=v[j])
if(v[j])
if(v[j+energ[i].e]>v[j]+energ[i].c||!v[j+energ[i].e])
v[j+energ[i].e]=v[j]+energ[i].c;
}
}
}
for(i=w;;i++)
if(v[i])
{
printf("%d",v[i]);
break;
}
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
int i=0;
for(i=0;i<g;i++)
{
scanf("%d%d",&energ[i].e,&energ[i].c);
if(sum<energ[i].e)
sum=energ[i].e;
if(v[energ[i].e]>energ[i].c||!v[energ[i].e])
v[energ[i].e]=energ[i].c;
}
reorder();
return 0;
}