307828: CF1423F. Coins

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Coins

题意翻译

$n$ 个人围坐在一个圆环上,其中有 $k$ 个人手上有硬币,位置 $a_i$ 上的人有 $b_i$ 枚硬币。现在每一轮你都可以命令一个至少持有 $2$ 枚硬币的人,让他从他的硬币中拿出两枚,分给他的左右邻居各一枚。询问你是否可以在有限步内让所有人都无法再分配硬币(即每个人手上的硬币数都小于 $2$ ),如果可以输出 $1$ ,不可以输出 $-1$。

题目描述

A famous gang of pirates, Sea Dogs, has come back to their hideout from one of their extravagant plunders. They want to split their treasure fairly amongst themselves, that is why You, their trusted financial advisor, devised a game to help them: All of them take a sit at their round table, some of them with the golden coins they have just stolen. At each iteration of the game if one of them has equal or more than 2 coins, he is eligible to the splitting and he gives one coin to each pirate sitting next to him. If there are more candidates (pirates with equal or more than 2 coins) then You are the one that chooses which one of them will do the splitting in that iteration. The game ends when there are no more candidates eligible to do the splitting. Pirates can call it a day, only when the game ends. Since they are beings with a finite amount of time at their disposal, they would prefer if the game that they are playing can end after finite iterations, and if so, they call it a good game. On the other hand, if no matter how You do the splitting, the game cannot end in finite iterations, they call it a bad game. Can You help them figure out before they start playing if the game will be good or bad?

输入输出格式

输入格式


The first line of input contains two integer numbers $ n $ and $ k $ ( $ 1 \le n \le 10^{9} $ , $ 0 \le k \le 2\cdot10^5 $ ), where $ n $ denotes total number of pirates and $ k $ is the number of pirates that have any coins. The next $ k $ lines of input contain integers $ a_i $ and $ b_i $ ( $ 1 \le a_i \le n $ , $ 1 \le b_i \le 10^{9} $ ), where $ a_i $ denotes the index of the pirate sitting at the round table ( $ n $ and $ 1 $ are neighbours) and $ b_i $ the total number of coins that pirate $ a_i $ has at the start of the game.

输出格式


Print $ 1 $ if the game is a good game: There is a way to do the splitting so the game ends after finite number of iterations. Print $ -1 $ if the game is a bad game: No matter how You do the splitting the game does not end in finite number of iterations.

输入输出样例

输入样例 #1

4 2
1 2
2 2

输出样例 #1

1

输入样例 #2

6 2
2 3
4 1

输出样例 #2

1

输入样例 #3

3 2
1 1
2 2

输出样例 #3

-1

说明

In the third example the game has no end, because You always only have only one candidate, after whose splitting you end up in the same position as the starting one.

Input

题意翻译

$n$ 个人围坐在一个圆环上,其中有 $k$ 个人手上有硬币,位置 $a_i$ 上的人有 $b_i$ 枚硬币。现在每一轮你都可以命令一个至少持有 $2$ 枚硬币的人,让他从他的硬币中拿出两枚,分给他的左右邻居各一枚。询问你是否可以在有限步内让所有人都无法再分配硬币(即每个人手上的硬币数都小于 $2$ ),如果可以输出 $1$ ,不可以输出 $-1$。

加入题单

算法标签: