Pagini recente » Cod sursa (job #519420) | Cod sursa (job #2948370) | Cod sursa (job #1862097) | Cod sursa (job #1692438) | Cod sursa (job #427776)
Cod sursa(job #427776)
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 n+1;
while st<dr {!!!} do
begin
gr:=(st+dr) div 2;
verificare;
if ok then
st:=gr+1
else
dr:=gr;
end;
writeln(g,st);
end;
begin
assign(f,'grupuri.in'); reset(f);
assign(g,'grupuri.out'); rewrite(g);
citire;
rezolvare;
close(f);
close(g);
end.