7833: BZOJ3833:[Poi2014]Solar lamps
Description
Byteasar has a large and pretty garden. As he would like to be able to appreciate its beauty even after dusk, he installed lamps across the garden. The lamps are directional, i.e., they illuminate only a certain angle, common to them all. Moreover, Byteasar has aligned them so that they all face the same direction. Last but not least, these are solar lamps, i.e., they come with solar panels but no batteries, strangely enough! You might think the panels are thus useless, and each lamp will require electricity at night, but not quite: A lamp will produce light if a sufficient number of lamps illuminate it. By now, Byteasar has even come up with an order he is going supply the lamps with electricity, thus turning them on. For simplicity, we number the lamps from 1 to n in this order, i.e., the lamp no. i is supplied with electricity at time i. The only thing left for Byteasar (and you, of course!) is to figure out when exactly each lamp will start emitting light. Help Byteasar by writing a program that will determine the answer to this question. Byteasar有一个美丽的大花园。因为他喜欢在黄昏后欣赏花园的美丽,他在花园中安装了许多盏灯。
输入格式
The first line of the standard input contains a single integer N(1<=N<=200 000): the number of lamps Byteasar installed. In the second line of input, there are four integers X1,Y1,X2,Y2(-10^9<=Xi,Yi<=10^9,(Xi,Yi<>(0,0) ), separated by single spaces, that describe the area illuminated by every lamp. Namely, if there is a lamp located at the point (x,y), then it illuminates the area (together with its edge) within the smaller of the two angles formed by two rays that both originate at (x,y) such that the i-th (for i=1,2) ray passes through(x+Xi,y+Yi). This angle is always smaller than 180 degrees. The n input lines that follow specify the locations of the lamps: the i-th such line contains two integers Xi,Yi(-10^9<=Xi,Yi<=10^9), separated by a single space, that indicate that the lamp no. is located at the point (Xi,Yi). You may assume that no two lamps share their location. The last line of the input contains N integers K1,k2…Kn(1<=Ki<=N), separated by single spaces, that signify that if the lamp no. i is in the area illuminated by at least Ki other lamps, then it will start emitting light as well. 第一行包含1个整数N(1<=N<=200 000),表示灯数。
输出格式
Your program should print out to the standard output a single line with integers T1…Tn, separated by single spaces. The number Ti should be the time when the lamp no. i starts producing light. 输出一行N个整数T1...Tn,其中Ti表示第i盏灯开始发光的时刻。
样例输入
5 3 1 1 3 2 1 1 4 3 4 5 6 5 2 1 2 1 3 2
样例输出
1 2 1 2 5
提示
Explanation: At time 1 Byteasar powers on the lamp 1, which also causes the lamp 3 to produce light. Once the lamp 2 is powered on, the lamp 4 begins to emit light (being illuminated by lamps 1, 2, and 3).
题目来源
鸣谢 Claris