1 条题解

  • 0
    @ 2025-2-14 21:11:42

    C++ :

    #include <cstdio>
    int main()
    {
          int n,m,i,j,a[10001],b[101],bmax,mn,mk,k;
        scanf("%d%d",&n,&m);
        for (i=0;i<n;i++)
            scanf("%d",&a[i]);
        for (i=0;i<m;i++)
            b[i]=a[i];
        for (i=m;i<n;i++)
        {
            mn=1<<30;mk=-1;
            for (k=0;k<m;k++)
                if (mn>b[k])
                {
                    mn=b[k];mk=k;
                }
            b[mk]+=a[i];
        }
        bmax=0;
        for (i=0;i<m;i++)
            if (bmax<b[i]) bmax=b[i];
        printf("%d\n",bmax);
        return 0;
    }
     
    

    Pascal :

    var
      n,m,i,r,min,j:longint;
      f:boolean;
      w:array[1..20000]of integer;
    begin
     { assign(input,'water.in');
      assign(output,'water.out');
      reset(input);
      rewrite(output);}
      readln(n,m);
      for i:=1 to n do
        read(w[i]);
      r:=m;
      repeat
        min:=min+1;
        for j:=1 to m do
          begin
            if w[j]<>0
              then dec(w[j]);
            if (w[j]=0)and(r<n)
              then
                begin
                  inc(r);
                  w[j]:=w[r];
                end;
          end;
        f:=true;
        for j:=1 to m do
          if w[j]<>0
            then f:=false;
      until f and (r=n);
      writeln(min);
      {close(input);
      close(output);}
    end.
    
    • 1

    信息

    ID
    723
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者