最少硬币

来源:百度文库 编辑:神马文学网 时间:2024/04/20 18:10:48
#include
int main()
{
int T[11]={0},Coins[11]={0},m=0,n=0,i=0,sum=0,t=0;
int a=0,b=0,temp=0,j=0;
scanf("%d",&n);
do
{
i++;
scanf("%d%d",&T[i],&Coins[i]);
}while(iscanf("%d",&m);
b=m;
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
if(T[j]{
temp=T[j];
T[j]=T[i];
T[i]=temp;
temp=Coins[j];
Coins[j]=Coins[i];
Coins[i]=temp;
}
}
for(i=n;i>=1;i--)
{ if(m>=T[i])
{
t=(m/T[i])>Coins[i]?Coins[i]:m/T[i];
sum=sum+t;
a=a+t*T[i];
m=m-t*T[i];
}
else continue;
}
if(a==b)
printf("%d",sum);
else
printf("%d",-1);
return 0;
}