uses math; var n1,nn,n,m,i,k,min,ans:longint; a,b:array[0..10001]of longint; begin read(n,m);filldword(b,sizeof(b)>>2,0); for i:=1 to n do read(a[i]); ans:=0;nn:=m;n1:=n; for i:=1 to m do b[i]:=a[i]; while nn<=n do begin if n1<=m then begin inc(ans,maxintvalue(b)); break; end; min:=maxlongint;k:=0; for i:=1 to m do if b[i]<min then begin min:=b[i]; k:=i; end; for i:=1 to m do b[i]:=b[i]-min; dec(n1); inc(nn); b[k]:=a[nn]; inc(ans,min); end; writeln(ans); close(input); close(output); end. /************************************************************** Problem: 2293 User: admin Language: Pascal Result: Wrong Answer ****************************************************************/