Quản lý phiên làm việc

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 400 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trong một hệ thống phân phối bài tập lớn, mỗi khi người dùng nhấn nút nộp bài, hệ thống sẽ tự động cập nhật một thẻ đánh dấu trạng thái có tên là lastcreate. Thẻ này nhận giá trị là ID của bài tập vừa được thao tác.

Hệ thống ghi nhận một chuỗi gồm \(n\) thao tác nộp bài liên tiếp từ phía người dùng. Tuy nhiên, do cấu hình bộ nhớ đệm giới hạn, hệ thống chỉ lưu giữ giá trị của thẻ lastcreate nếu ID bài tập của thao tác hiện tại lớn hơn nghiêm ngặt giá trị đang được lưu trong thẻ. Nếu ngược lại, thẻ lastcreate sẽ bỏ qua thao tác đó và giữ nguyên giá trị cũ.

Ban đầu, giá trị của thẻ lastcreate được đặt mặc định là \(0\). Cho danh sách ID bài tập của \(n\) thao tác theo thứ tự thời gian, hãy xác định giá trị cuối cùng được lưu lại trong thẻ lastcreate.

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\) là số lượng thao tác nộp bài.
  • Dòng thứ hai chứa \(n\) số nguyên dương \(A_1, A_2, \dots, A_n\) lần lượt là ID bài tập của các thao tác.

Constraints

  • \(1 \le n \le 10^5\)
  • \(1 \le A_i \le 10^9\) với mọi \(1 \le i \le n\).

Output

  • Một số nguyên duy nhất là giá trị cuối cùng của thẻ lastcreate.

Example

Test 1

Input
4
5 3 8 2
Output
8
Note
  • Ban đầu, lastcreate = 0.
  • Thao tác 1 (ID = 5): Vì \(5 > 0\), cập nhật lastcreate = 5.
  • Thao tác 2 (ID = 3): Vì \(3 \le 5\), bỏ qua.
  • Thao tác 3 (ID = 8): Vì \(8 > 5\), cập nhật lastcreate = 8.
  • Thao tác 4 (ID = 2): Vì \(2 \le 8\), bỏ qua.
  • Kết quả cuối cùng là 8.

Bình luận (4)

Mới nhất
Tải bình luận...