#include <stdio.h>
#include <stdlib.h>
void Print_Array(float* a,int len)
{
int i;
for(i = 0;i < len; i ++)
printf("%.2f ",*(a+i));
}
int main()
{
int N,D;
scanf("%d%d",&N,&D);
float kucun[N];
float shoujia[N];
int i,j,temp_flag;
float temp;
for(i = 0; i < N; i ++)
{
scanf("%f",kucun+i);
}
for(i = 0; i < N; i ++)
{
scanf("%f",shoujia+i);
}
//===========================================
float danjia[N];
int flag[N];
for(i = 0; i < N; i ++)
{
danjia[i] = (float)(shoujia[i])/kucun[i];
flag[i] = i;
}
for(i = 0; i < N -1; i ++)
{
for(j = 0; j < N -1 - i; j ++)
{
if(danjia[j] > danjia[j+1])
{
temp = danjia[j];
temp_flag = flag[j];
danjia[j] = danjia[j+1];
flag[j] = flag[j+1];
danjia[j+1] = temp;
flag[j+1] = temp_flag;
}
}
}
float sum_money = 0;
int sum_number = 0;
int chae = 0;
for(i = N - 1; i >= 0; i --)
{
sum_number = sum_number + kucun[flag[i]];
sum_money = sum_money + shoujia[flag[i]];
if(D >= sum_number)
{
continue;
}
else
{
chae = sum_number - D;
chae = kucun[flag[i]] - chae;
sum_number = sum_number - kucun[flag[i]];
sum_money = sum_money - shoujia[flag[i]];
sum_money = sum_money + ((float)(chae)/(float)(kucun[flag[i]]))*shoujia[flag[i]];
break;
}
}
printf("%0.2f",sum_money);
return 0;
}
PTA1020-C语言
最新推荐文章于 2024-08-23 07:32:51 发布