Pagini recente » Cod sursa (job #910910) | Cod sursa (job #1110379) | Cod sursa (job #1628230) | Cod sursa (job #2758953) | Cod sursa (job #428166)
Cod sursa(job #428166)
program grupuri;
var f, g:text;
k, n, gr:longint;
ok:boolean;
v:array[1..100000] of longint;
s:int64;
procedure citire;
var i:longint;
begin
readln(f,k,n);
for i:=1 to n do
begin
read(f,v[i]);
s:=s+v[i];
end;
end;
procedure verificare;
var i, l, sa:longint;
begin
l:=0;
for i:=n downto 1 do
if v[i]>=gr then
l:=l+1
else
break;
sa:=0;
for i:=1 to n do
if v[i]<gr then
sa:=sa+v[i]
else
break;
if sa>=(k-l)*gr then
ok:=true
else
ok:=false;
end;
procedure rezolvare;
var st, dr:longint;
begin
st:=1;
dr:=s div k;
while st<dr-1 {!!!} do
begin
gr:=(st+dr) div 2;
verificare;
if ok then
st:=gr
else
dr:=gr-1;
end;
gr:=dr;
verificare;
if ok then
writeln(g,dr)
else
writeln(g,st);
end;
begin
assign(f,'grupuri.in'); reset(f);
assign(g,'grupuri.out'); rewrite(g);
citire;
rezolvare;
close(f);
close(g);
end.