1 solutions

  • 0
    @ 2025-11-5 16:42:47

    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

    Information

    ID
    17959
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By