CF1056C.Pick Heroes

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Don't you tell me what you think that I can be

If you say that Arkady is a bit old-fashioned playing checkers, you won't be right. There is also a modern computer game Arkady and his friends are keen on. We won't discuss its rules, the only feature important to this problem is that each player has to pick a distinct hero in the beginning of the game.

There are 22 teams each having nn players and 2n2n heroes to distribute between the teams. The teams take turns picking heroes: at first, the first team chooses a hero in its team, after that the second team chooses a hero and so on. Note that after a hero is chosen it becomes unavailable to both teams.

The friends estimate the power of the ii -th of the heroes as pip_i . Each team wants to maximize the total power of its heroes. However, there is one exception: there are mm pairs of heroes that are especially strong against each other, so when any team chooses a hero from such a pair, the other team must choose the other one on its turn. Each hero is in at most one such pair.

This is an interactive problem. You are to write a program that will optimally choose the heroes for one team, while the jury's program will play for the other team. Note that the jury's program may behave inefficiently, in this case you have to take the opportunity and still maximize the total power of your team. Formally, if you ever have chance to reach the total power of qq or greater regardless of jury's program choices, you must get qq or greater to pass a test.

输入格式

The first line contains two integers nn and mm ( 1n1031 \le n \le 10^3 , 0mn0 \le m \le n ) — the number of players in one team and the number of special pairs of heroes.

The second line contains 2n2n integers p1,p2,,p2np_1, p_2, \ldots, p_{2n} ( 1pi1031 \le p_i \le 10^3 ) — the powers of the heroes.

Each of the next mm lines contains two integer aa and bb ( 1a,b2n1 \le a, b \le 2n , aba \ne b ) — a pair of heroes that are especially strong against each other. It is guaranteed that each hero appears at most once in this list.

The next line contains a single integer tt ( 1t21 \le t \le 2 ) — the team you are to play for. If t=1t = 1 , the first turn is yours, otherwise you have the second turn.

Hacks

In order to hack, use the format described above with one additional line. In this line output 2n2n distinct integers from 11 to 2n2n — the priority order for the jury's team. The jury's team will on each turn select the first possible hero from this list. Here possible means that it is not yet taken and does not contradict the rules about special pair of heroes.

输出格式

When it is your turn, print a single integer xx ( 1x2n1 \le x \le 2n ) — the index of the hero chosen by you. Note that you can't choose a hero previously chosen by either you of the other player, and you must follow the rules about special pairs of heroes.

When it is the other team's turn, read a line containing a single integer xx ( 1x2n1 \le x \le 2n ) — the index of the hero chosen by the other team. It is guaranteed that this index is not chosen before and that the other team also follows the rules about special pairs of heroes.

After the last turn you should terminate without printing anything.

After printing your choice do not forget to output end of line and flush the output. Otherwise you will get Idleness limit exceeded. To do this, use:

  • fflush(stdout) or cout.flush() in C++;
  • System.out.flush() in Java;
  • flush(output) in Pascal;
  • stdout.flush() in Python;
  • see documentation for other languages.

Jury's answer 1-1 instead of a valid choice means that you made an invalid turn. Exit immediately after receiving 1-1 and you will see Wrong answer verdict. Otherwise you can get an arbitrary verdict because your solution will continue to read from a closed stream.

输入输出样例

  • 输入#1

    3 1
    1 2 3 4 5 6
    2 6
    1
    
    2
    
    4
    
    1
    

    输出#1

    
    
    
    
    6
    
    5
    
    3
    
  • 输入#2

    3 1
    1 2 3 4 5 6
    1 5
    2
    6
    
    1
    
    3
    

    输出#2

    
    
    
    
    
    5
    
    4
    
    2
    

说明/提示

In the first example the first turn is yours. In example, you choose 66 , the other team is forced to reply with 22 . You choose 55 , the other team chooses 44 . Finally, you choose 33 and the other team choose 11 .

In the second example you have the second turn. The other team chooses 66 , you choose 55 , forcing the other team to choose 11 . Now you choose 44 , the other team chooses 33 and you choose 22 .

首页