1.接水问题代码求注释
接水问题代码求注释
整个程序的皇冠皇冠中心思想就是:计算所有水龙头放水时间最长的那个,即是源码所接水的总时间。
min函数就是接水接水在接水过程中,算出接水时间最短的程序iic源码那个水龙头,也就是搭建在接水过程中,确定哪个水龙头下的皇冠皇冠人,先接完水。源码
for(i=0;i<m;i++)
{
scanf("%d",接水接水&b[i]);
}
这段表示m个水龙头同时开始接水。比如样例1,程序共三个水龙头,搭建即前三个人开始接水,皇冠皇冠企微小密源码且水龙头放水时长为b[0]、源码b[1]、接水接水b[2]分别为4、程序4、搭建1
for(;i<n;i++)
{
scanf("%d",汇编全能模块源码&a);
b[min(b,m)]+=a;
}
这段就是整段程序的精髓,这段就是每次一个人接水的水龙头编号,并且将此水龙头放水的时间延长。
比如第m+1(前m个人已经开始同时接水)所接水的位置出min(b,m)可以返回,比如样例1,第4个人开始接水,绝密捉妖源码在哪
min(b,m)返回(b[0]、b[1]、b[2]分别为4、4、1)为2,雨季彩虹指标源码即在第三个水龙头下接水。
此时第三个水龙头接时间即为b[2]=1+2即b[2]变为3,然后当第m+2即第5个人接水,
此时min(b,m)中b[i](b[0]、b[1]、b[2]分别为4、4、3)最小为b[2]=3,仍然返回2,即仍在第三个水龙头下接水
所以当第5个人接完水,此时b[2]=3+1变为4,此时所有人接完水。
for(i=0;i<m;i++)
{
if(max<b[i])
max=b[i];
}
printf("%d",max);
然后求出所有水龙中放水量也即时间最长的那个,即为接水时间。样例1中,b[0]、b[1]、b[2]分别为4、4、4,即为4