Cửa hàng của An là một cửa hàng quái đản. Khi thanh toán tiền, An không bao giờ chấp nhận những đồng tiền giống nhau! Tức là nói, nếu mua một cục gôm 2 đồng, thì phải trả đúng 2 đồng, chứ không thể đưa 2 tờ 1 đồng. An nghĩ như thế là không lịch sự, và những người như thế An sẽ không bán!
Nam là một khách quen của An. Nam hiện có n tờ tiền, mỗi tờ tiền đều có giá trị khác nhau! Theo bạn nghĩ, Nam không thể mua món đồ có giá trị nhỏ nhất là bao nhiêu?
Dữ liệu nhập: gồm 2 dòng, dòng thứ nhất là 1 số nguyên dương n ( 0 < n < 100 ). Dòng thứ 2 có n số nguyên dương không quá 106 được sắp xếp tăng dần, mỗi số tượng trưng cho giá trị tờ tiền mà Nam có.
Dữ liệu xuất: 1 số nguyên dương duy nhất, là giá trị món đồ nhỏ nhất mà Nam không thể mua.
Ví dụ
input
5
1 2 4 9 100
output
8
input
3
1 2 3
output
7
Test 1: 3 = 1 + 2, 5 = 1 + 4, 6 = 2 + 4, 7 = 1 + 2 + 4, 8 = ??
const fi='test.inp'
fo='test.out'
var
f:text;
n,i,j,t:longint;
a:array[1..100] of longint;
b:array[1..1000000000] of boolean;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,n);
for i:= 1 to n do
read(f,a[i]);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
for i:= 1 to n do
begin
b[a[i]]:=true;
t:=a[i];
for j:= i+1 to n do
begin
b[a[j]] := true;
b[a[i]+a[j]]:= true;
t:=t+a[j];
b[t]:=true;
end;
end;
t:=1;
while b[t] = true do
inc(t);
write(f,t);
close(f);
end;
BEGIN
ip;
out;
END.