Bạn được cung cấp một mảng số nguyên ~nums~ được đánh chỉ mục từ ~0~.
Một tiền tố ~nums[0..i]~ được gọi là "tuần tự" nếu, với mọi ~1 \leq j \leq i~, ~nums[j] = nums[j - 1] + 1~. Đặc biệt, tiền tố chỉ bao gồm ~nums[0]~ được coi là tuần tự.
Hãy trả về số nguyên nhỏ nhất ~x~ còn thiếu trong ~nums~ sao cho ~x~ lớn hơn hoặc bằng tổng của tiền tố tuần tự dài nhất.
Ví dụ 1:
Đầu vào: ~nums = [1,2,3,2,5]~
Đầu ra: ~6~
Giải thích: Tiền tố tuần tự dài nhất của ~nums~ là ~[1,2,3]~ với tổng là ~6~. Số ~6~ không có trong mảng, do đó ~6~ là số nguyên nhỏ nhất còn thiếu lớn hơn hoặc bằng tổng của tiền tố tuần tự dài nhất.
Ví dụ 2:
Đầu vào: ~nums = [3,4,5,1,12,14,13]~
Đầu ra: ~15~
Giải thích: Tiền tố tuần tự dài nhất của ~nums~ là ~[3,4,5]~ với tổng là ~12~. Các số ~12~, ~13~, và ~14~ có trong mảng trong khi ~15~ không có. Do đó, ~15~ là số nguyên nhỏ nhất còn thiếu lớn hơn hoặc bằng tổng của tiền tố tuần tự dài nhất.
Ràng buộc:
- ~1 \leq nums.length \leq 10^5~
- ~1 \leq nums[i] \leq 10^5~
Input
- Dòng một: Số nguyên ~n~ là độ dài của mảng ~nums~.
- Dòng hai: ~n~ số nguyên là phần tử của mảng ~nums~.
Output
- Số nguyên nhỏ nhất ~x~ còn thiếu trong ~nums~ sao cho ~x~ lớn hơn hoặc bằng tổng của tiền tố tuần tự dài nhất.
Sample Input
5
1 2 3 2 5
Sample Output
6
Bình luận