Pagini recente » Cod sursa (job #1010347) | Monitorul de evaluare | Cod sursa (job #2000944) | Statistici Ilie Emanuela (Elailie) | Cod sursa (job #428944)
Cod sursa(job #428944)
program p1;
var f,g:text;
a:array[1..16000]of longint;
i,n,c,k,s,max:longint;
function posibilitati(x:longint):longint;
var i,cam,sum:longint;
begin
cam:=1;sum:=0;
for i:=1 to n do
if sum+a[i]<=x then sum:=sum+a[i]
else begin
sum:=a[i];
cam:=cam+1;
end;
posibilitati:=cam;
end;
function cauta(x1,y1:longint):longint;
var st,dr,mij,p,sol:longint;
begin
st:=x1;dr:=y1;sol:=0;
while st<=dr do
begin
mij:=(st+dr) div 2;
p:=posibilitati(mij);
if p>k then st:=mij+1
else begin dr:=mij-1;sol:=mij;end;
end;
cauta:=sol;
end;
begin
assign(f,'tran.in');reset(f);
assign(g,'tran.out');rewrite(g);
read(f,n,k);
read(f,a[1]);
if k>n then k:=n;
s:=a[1];max:=a[1];
for i:=2 to n do
begin
read(f,a[i]);
s:=s+a[i];
if a[i]>max then max:=a[i];
end;
c:=cauta(max,s);
writeln(g,c);
close(f);
close(g);
end.