Phần tử đằng trước nhỏ nhất


Submit solution

Points: 2.4 (partial)
Time limit: 1.0s
Memory limit: 67M

Author:
Problem types
Allowed languages
C, C11

Chú ý: Chỉ sử dụng ngôn ngữ C cho vấn đề này.

Cho dãy số có \(n\) phần tử \(u_1, u_2 ,..., u_n\). Với mỗi \(i\) chạy từ \(1\) tới \(n\), bạn hãy xác định ba số nguyên \(a\), \(b\), \(c\) với ý nghĩa như sau:

  • \(a\) là phần tử nhỏ nhất trong dãy \(u[1...i]\) (dãy con từ \(1\) tới \(i\)).
  • \(b\) là số lần phần tử có giá trị bằng \(a\) xuất hiện trong dãy \(u[1..i]\).
  • \(c\) là chỉ số nhỏ nhất của phần tử có giá trị bằng \(a\).

Đầu vào

Dòng đầu chứa số nguyên dương \(n\) \((2 \leq n \leq 10^6)\), số phần tử của dãy \((u)\).

Dòng tiếp theo gồm \(n\) số nguyên là các phần tử của dãy \((u)\) có giá trị tuyệt đối không vượt quá \(10^7\).

Đầu ra

\(n\) dòng, mỗi dòng chứa ba số nguyên là kết quả của bài toán.

Subtask

\(30\%\) số test có \(n \le 1000\).

Ví dụ

Đầu vào:

5
1 9 -1 -1 -2

Đầu ra:

1 1 1
1 1 1
-1 1 3
-1 2 3
-2 1 5
QDUY

Comments

There are no comments at the moment.