问题标题: 酷町堂:1453

0
0

0
0
0
吴子尧
吴子尧
中级守护
中级守护

for(int j=2;j<=m;j++)if(b[j]<b[k])k=j; b[k]+=x; } int k=1; for(int i=2;i<=m;i++)if(b[i]>b[k])k=i;核心

0
王耀森
王耀森
中级光能
中级光能
   定义s[11000],ans;    // 根据t的终止条件来想下s的大小
    主函数
    {
    定义 n,m;
输入n>>m;
    for(int i=1;i<=n;i++) 
输入s[i];    //  输入每个学生的接水量
定义 t=m+1;   // t用来记录下个学生的编号 
    while(t<=n+m)
    {
        for(int i=1;i<=m;i++)     //  枚举m个水龙头 
        {
            s[i]--;
            if(s[i]==0)
            {
                s[i]=s[t];     //  如果这个学生的水接完了 模拟换下一个学生来这个水龙头
                t++; 
            }
        }
        ans++;      //  以上是模拟的1秒钟的接水时间 所有ans加一 
    }
        输出ans;

如果你实在不会,就去洛谷看看题解吧

0
0
侯世宸
侯世宸
高级守护
高级守护

前m个学生先填上,每个水龙头只要空出来就加上,算每个水龙头的时间,取maxn就行了

我要回答