Bầu lớp trưởng

View as PDF

Submit solution

Points: 3.00 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Suggester:
Problem type
Allowed languages
C++, PyPy, Python

Có N bạn đang tranh đấu trong cuộc bầu lớp trưởng của ACM. Lớp chúng đang đứng thành một hàng, mỗi bạn có mức độ ảnh hưởng là ~S_i~.

Một bạn có thể bỏ nhiều phiếu. Tìm số lượng phiếu mà bạn thứ i nhận được. Một bạn j (i ≠ j) sẽ bầu cho bạn i, nếu mức độ ảnh hưởng của bạn thứ j lớn hơn hoặc bằng tổng độ ảnh hưởng của tất cả các bạn ở giữa chúng (không tính bạn thứ i và thứ j).

Nhiệm vụ của chúng ta là tìm xem với mỗi i thì số lượng phiếu mà bạn thứ i nhận được là bao nhiêu.

Dữ liệu vào

  • Dòng đầu tiên của dữ liệu vào chứa T – số test. T test được miêu tả như sau:
  • Dòng đầu tiên của mỗi test chứa một số nguyên N – số lượng bạn.
  • Dòng thứ hai chứa N số nguyên, số thứ i thể hiện ~S_i~.

Dữ liệu ra

Ở mỗi test, in ra N số nguyên trên một dòng, số thứ i là số phiếu mà bạn thứ i nhận được.

Ràng buộc

  • 1 ≤ T ≤ 100
  • 1 ≤ N ≤ ~10^5~
  • 1 ≤ ~Si~ ≤ ~10^9~
  • Tổng của N trong tất cả các test không vượt quá ~10^6~

Ví dụ

Input:

2 
4 
4 3 2 1 
5 
1 2 2 3 1

Output:

1 2 3 2 
2 3 2 3 1

Giải thích

Ví dụ 1.

  • Bạn đầu tiên sẽ chỉ nhận được phiếu bầu của bạn thứ hai.
  • Bạn thứ hai sẽ nhận được phiếu bầu của bạn thứ hai và ba.
  • Bạn thứ ba sẽ nhận được phiếu bầu của bạn đầu tiên, thứ hai và thứ tư.
  • Bạn thứ tư sẽ nhận được phiếu bầu của bạn thứ hai và thứ ba.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.