THI ĐẤU VÕ

Nguồn: None

Tại câu lạc bộ võ Karate, cả nam lẫn nữ có tất cả ~ n ~ võ sinh được xếp thành một hàng đánh số từ 1 đến ~ n ~. Võ sinh thứ ~ i ~ có năng lực chiến đấu là một số nguyên ~ a_i ~. Huấn luyện viên muốn cho các võ sinh của mình đấu giao hữu với nhau theo nguyên tắc như sau:

  • Chỉ thi đấu với nhau khi cùng giới tính.
  • Mỗi võ sinh sẽ được đấu với các võ sinh đứng trước họ từ gần đến xa, đến khi nào thua trận thì thôi. (Võ sinh thứ ~ i ~ thắng võ sinh thứ ~ j ~ nếu ~ j<i ~ và ~ a_j<a_i ~).

Yêu cầu: Hãy cho biết, mỗi võ sinh thắng bao nhiêu võ sinh khác theo nguyên tắc trên.

Dữ liệu vào:

  • Dòng đầu tiên chứa số nguyên dương ~ n (n ≤ 10^6) ~ là số lượng võ sinh.

  • ~ n ~ dòng sau, mỗi dòng chứa hai số nguyên, dòng thứ ~ i+1 ~ chứa số nguyên ~ a_i ~ và ~ b_i ~, trong đó ~ a_i ~ là năng lực chiến đấu, ~ b_i ~ là giới tính của võ sinh thứ ~ i (1≤ a_i ≤ 10^9, b_i ∈ {0,1}) ~.

Kết quả:

  • Ghi một dòng duy nhất gồm ~ n ~ số nguyên, số thứ ~ i ~ là số lượng võ sinh mà võ sinh thứ ~ i ~ đấu thắng.

Ví dụ:

Input

10
5 0
18 1
11 0
12 0
4 0
12 1
3 0
2 1
7 1
6 0 
Output
0 0 1 2 0 0 0 0 1 2 

Ràng buộc:

  • 40% số test với ~ n ≤ 10^3 ~
  • 60% số test với ~ n ≤ 10^6 ~

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. nguyenvuquang (12/18)
  2. huy_notcoding (9/14)
  3. ilpnvm (9/18)
Trong 7 ngày
  1. ducchinh (169/223)
  2. hienpham (163/213)
  3. bichngoc (150/213)
Trong 30 ngày
  1. ducchinh (169/223)
  2. hienpham (163/213)
  3. tgtam2022 (150/369)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37713

Lưu Hải Phong - 2020
[email protected]