[Wf2016]Spin Doctor

时间限制:30s    【提交】    空间限制:128MB

题目描述

大选要到了,受候选人X的要求,你调查了n个人,并记录了每个人的3个信息:
ai--他们能记忆π的多少位
bi--他们的头发数量
ci--他们是否会给候选人X投票
你需要找到某个公式使这些结果看起来有意义。你要选择2个实数S和T,将所有调查结果按ai*S+bi*T排序。如果ci
为true的人聚集在了一起,你会觉得这个排序看起来不错。更准确地说,如果j和k分别是第一个和最后一个ci为tr
ue的人的下标,你想要最小化k-j+1。注意有些S和T会让排序时出现相等的情况,这时你应该假设最坏情况发生,
即排序使得k-j+1最大。


输入格式

第一行一个数n(1 ≤ n ≤ 250000)为被调查的人数。
接下来每行描述一个人的ai(0 ≤ ai ≤ 2000000)、bi(0 ≤ bi ≤ 2000000)、ci
ci是一个0/1变量。保证至少有一个人投了X的票(即至少有一个ci为true)


输出格式

对于所有可能的实数对(S,T),输出最小的k-j+1。


样例输入

100
7487 4751 1
7499 5064 1
7471 5376 1
7404 5683 1
7300 5979 1
7159 6260 1
6984 6520 1
6777 6757 1
6543 6966 1
6284 7144 1
6006 7288 1
5711 7396 1
5405 7466 1
5092 7498 1
4780 7490 1
4469 7442 1
4167 7357 1
3878 7234 1
3607 7075 1
3358 6884 1
3135 6664 1
2941 6417 1
2780 6147 1
2653 5860 1
2564 5559 1
2513 5249 1
2501 4936 1
2529 4624 1
2596 4317 1
2700 4021 1
2841 3740 1
3016 3480 1
3223 3243 1
3457 3034 1
3716 2856 1
3994 2712 1
4289 2604 1
4595 2534 1
4908 2502 1
5220 2510 1
5531 2558 1
5833 2643 1
6122 2766 1
6393 2925 1
6642 3116 1
6865 3336 1
7059 3583 1
7220 3853 1
7347 4140 1
7436 4441 1
4946 8828 0
8742 4313 0
2126 2132 0
9435 3372 0
5088 584 0
278 7609 0
464 5305 0
1577 509 0
2804 8754 0
9047 1580 0
1558 5541 0
3041 9135 0
7723 9004 0
3245 7600 0
3274 8477 0
7867 5690 0
4184 9319 0
8425 475 0
942 6676 0
8254 1405 0
7168 6512 0
2541 51 0
3017 7811 0
6805 39 0
4351 8732 0
533 9472 0
1513 9570 0
634 790 0
5809 9609 0
6536 8399 0
5640 9504 0
2408 9157 0
1271 1853 0
1976 2706 0
9332 7001 0
1048 3322 0
9764 9397 0
1901 1449 0
3985 2122 0
7139 9767 0
5835 8305 0
746 585 0
3025 8187 0
2301 782 0
9741 3033 0
3960 8756 0
693 3827 0
1169 7143 0
556 8694 0
3721 1983 0

样例输出

61

提示

没有写明提示


题目来源

鸣谢Shimakaze提供译文