Phần tử nhỏ hơn lớn nhất đứng trước


Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 98M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Cho dãy số nguyên dương có n phần tử a1,a2,...an với mỗi phần tử thứ i bạn phải chỉ ra phần tử lớn nhất nhỏ hơn ai mà đứng trước vị trí i

Input

Dòng đầu tiên là số nguyên dương n có giá trị không vượt quá 105

Dòng tiếp theo là n số nguyên dương có giá trị không vượt quá 109

Ouput

Xuất ra n dòng, trong đó dòng thứ i sẽ chỉ ra giá trị của phần tử lớn nhất nhỏ hơn ai và số phần tử như vậy, trong trường hợp không có số nào nhỏ hơn đứng trước chỉ cần xuất ra 1 số 0

Ví dụ

Input

Copy
8
4 7 10 7 9 4 5 8

Output

Copy
0
4 1
7 1
4 1
7 2
0
4 2
7 2
tichpx

Comments


  • 3
    Hoan_CNTT_VA2_K61  commented on May 27, 2022, 4:25 p.m.

    so easy with map::lower_bound


    • 4
      TICHPX  commented on May 29, 2022, 3:41 a.m.

      Đúng là mình tạo bài này bằng thuật toán chặt nhị phân có sẵn trên map