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\)\(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\ \leq \ 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}\) \(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 \leq \ a_{i}\ \leq \ 10^{9},\ b_{i}\ \in \ \{ 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 Output
10
5 0
18 1
11 0
12 0
4 0
12 1
3 0
2 1
7 1
6 0
0 0 1 2 0 0 0 0 1 2

Ràng buộc:

+ 40% số test với \(n\ \leq \ 10^{3}\)

+ 60% số test với \(n\ \leq \ 10^{6}\)

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

hpcode.edu.vn
Code tích cực
Trong 24h
  1. sythai (5/8)
  2. npk1605 (5/10)
  3. trungnam (4/4)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

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