시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 512 MB15101066.667%

문제

Times are hard at the Association of Chartered Mountaineers.

The growth of their pedestrian sport has slowed to a crawl. Instead of taking up mountaineering, younger potentials are gravitating towards warmer indoor activities such as snooker, musical chairs, and programming contests.

To win over more members, the Association is going to organise a series of new time trial orienteering events next year. The route for the first race will be a short run through the Cairngorms, with every contestant following the same route designated by marker points but all starting at different times.

Because hiking can be dangerous, and many of the contestants will be inexperienced, the competition committee drew up two rules:

  • Every contestant needs to keep a specific maximum distance away from the next-closest contestant, in either direction, at all times.
  • Every contestant should be given personal space. If a contestant needs a personal space of D metres, nobody else should ever come closer than that at any time. This distance varies according to level of experience.

The hardest part of orienteering is the pathfinding; once a contestant knows where to go next, they can get there in almost no time (for the purposes of this problem, instantaneously).

In fact, while the inaugural ACM "Icy-Cold Peak Contest" is already underway, pathfinding is turning out to be a problem: nobody is sure whether they can move next without breaking any of the conditions on minimum and maximum distance.

Help the runners reach the end of their route by computing a list of who should move to the next goal point, and at what time.

입력

  • One line containing an integer B (1 ≤ B ≤ 50000), the maximum separation allowed between any two runners.
  • One line containing an integer P (3 ≤ P ≤ 1000), the number of marker points along the route.
  • One line containing P unique space-separated integers d1 . . . dP (0 ≤ dP ≤ 106), with di being the distance of the i-th vertex from the starting point d1 = 0.
  • One line containing an integer K (2 ≤ K ≤ 1000), the number of hikers on the landscape.
  • K further lines, each containing the pair of space-separated integers Ai and Vi (1 ≤ Ai ≤ 106; 1 ≤ Vi ≤ P), the minimum separation distance and current marker position respectively for the i-th person.

The initial configuration of hikers will be legal according to the minimum and maximum distance rules. The hikers will be given in increasing order of distance from the start.

출력

If it is not possible to get everyone to the end of the route without breaking minimum or maximum distance requirements, output impossible.

Otherwise, output a space-separated list of moves on one line, each describing which person should make the next move.

If anyone falls off the landscape, your answer will not be judged as correct. However, once someone has arrived at the end of their journey they cease to count towards any rule violations.

예제 입력 1

3
8
0 1 2 3 4 5 6 7
2
2 1
2 4

예제 출력 1

1 2 1 2 1 2 1 2 1 1 1

예제 입력 2

10
10
0 1 3 6 10 14 17 19 20 21
3
3 1
1 3
3 5

예제 출력 2

2 1 1 3 2 1 3 2 1 3 3 2 1 3 2 2 1 2 1 1 1

예제 입력 3

5
5
0 2 5 9 14
2
2 1
2 2

예제 출력 3

impossible

출처

ICPC > Regionals > Europe > Northwestern European Regional Contest > The UK & Ireland Programming Contest > UKIEPC 2017 H번

  • 문제를 만든 사람: Robin Lee