#include
#include
#include
void main()
{
//tLength总人数,rLength水笼头个数
//max最短时间
//flag temp临时变量
//i、j、k控制循环的变量 数组tN[]记录每个人打水用的时间,数组R[]记录打水的最少时间。
int i = 0 , j = 0 ,k = 0, flag = 0 ,max=0 , temp = 0 , tLength, rLength ;
int tN[1024],R[1024]={0};
printf("请输入总人数:");
scanf("%d",&tLength);
printf("水笼头个数:");
scanf("%d",&rLength);
printf("请输入每个人用时:\n");
for (i=0 ; i < tLength ; i++)
{
scanf("%d",&tN[i]);
}
for (i = 0 ; i < tLength ; i++)//排序,降序对tN排序,sortT(tN)
{
flag = i;
for (j = i ; j < tLength ; j++)
{
if (tN[flag] <= tN[j])//求出最少的时间t[flag]
{
flag = j;
}
}
temp = tN[i];
tN[i] = tN[flag];
tN[flag] = temp;
}
for (i = 0 ;i < tLength ; i ++)
{
R[0] += tN[i];
for (k = 0 ; k < rLength ; k++)//排序,升序对R排序,sortR(R)
{
flag = k;
for (j = k ; j < rLength ; j++)
{
if (R[flag] >= R[j])
{
flag = j;
}
}
temp = R[k];
R[k] = R[flag];
R[flag] = temp;
}
}
for (i = 0 ; i < rLength ;i++)
{
if (R[max] <= R[i])
{
max = i;
}
}
printf("最少用时为:%d\n分钟",R[max]);
}