动态集合维护
时间限制:1秒 内存限制:256N
【问题描述】
按顺序给出集合的每个元素,每次给定一个元素 \(x(0<x≤1000 000)\),你需要回答当前集合中 小于等于 \(x\) 的元素个数和 大于 \(x\) 的元素个数。
【输入格式】
第一行一个整数 n,表示集合元素的个数。
接下来的 \(n\) 行,每行一个整数 \(x(0<x≤1000 000)\),表示按此顺序向集合中添加元素。
【输出格式】
包含 \(n\) 行,其中第 \(i\) 行包含两个整数,分别表示向集合中插入第 \(i\) 个元素前,当前集合中小于等于 \(x\) 和大于 \(x\) 的元素个数。
【输入输出样例】
Input
9
1
3
5
2
7
0
4
9
6
Output
0 0
1 0
2 0
1 2
4 0
0 5
4 2
7 0
6 2
【数据说明】
对于 \(100\%\) 的数据:\(n≤300 000\)
【来源】
Nr.he