题号:NC232438
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
小

现在正在玩一款战争策略游戏,在这个游戏中,玩家一开始拥有

个堡垒,游戏目标是占领另外

个堡垒。
因为任意一个堡垒都仅有两种状态,正在修建或慢慢损耗,所以每个堡垒都有一个与时间相关的战斗力

,满足关系式

,其中

为战斗力变化率,

为当前时间,

为初始战斗力。
在这个游戏中,堡垒

能打败堡垒

当且仅当

,并且当堡垒

打败堡垒

以后,

中的驻军可以转移到

,同时玩家失去对

的所有权并获得

的所有权。
在

时,玩家拥有

个堡垒。给定所有的

个堡垒的初始战斗力和战斗力变化率,玩家可以在任意整数时刻进行任意次操作。请你求出小

将

个目标堡垒全部占领的最短用时。
如果无论如何都没法占领

个目标堡垒,则输出 "Can't win!"(不含引号).
PS : 同一时间同一个城堡内可以有多只驻军。本题与 C2 仅有城堡内驻军数量限制的区别。
输入描述:
第一行一个正整数

接下来

行,每行两个整数

,表示你现在拥有的堡垒的参数。
接下来

行,每行两个整数

,表示目标堡垒的参数。
输出描述:
一个非负整数表示答案,或一个字符串 "Can't win!".
示例1
输入
复制
10
3 -208
-3 845
3 -808
-8 466
2 -727
10 308
0 260
8 368
1 -887
0 426
2 298
-1 11
0 132
2 -412
-1 578
4 -613
9 -119
-2 716
2 -266
-6 307
备注:
数据保证 