U244424 01分数不规划(渐入佳境)

题目背景

$La\_Pluma$ 意识到似乎大家忽略了这个~~没用的~~知识点, 于是出了一道水题提醒大家

题目描述

### 简要题意 给定 $n$ 个二元组 $\{a_i, b_i\}$, 求一组 $w$($w_i \in \{0, 1\}$)使得 $$ \frac{\sum_{i = 1}^{n}w_i \times a_i}{\sum_{i = 1}^{n}w_i \times b_i} $$ 最大(需要有至少一个 $w_i = 1$) ### 题目描述 $La\_Pluma$ 小可爱加入战场, 现在一共有 $n$ 个敌人, $La\_Pluma$ 需要分散注意力关注每一个敌人, 众所周知, $La\_Pluma$ 平时注意力非常涣散, ~~甚至可以忽略不计~~, 但战斗时 $La\_Pluma$ 会表现出让人大吃一惊的专注度, 因为 每一个出现的敌人都会提高 $La\_Pluma$ 整体的注意力, 而不同的敌人会需要不同级别的注意 ~~普通士兵显然和大盾不可同日而语)~~ 每一个敌人都有一个值 $a_i$ 表示他的出现会提高 $La\_Pluma$ 多少注意力, 一个值 $b_i$ 表示这个敌人需要多少级别的注意力 $La\_Pluma$ 分配注意力的方法是: 每一个自己面对的敌人 $x$ 可以享受她 $\frac{\sum_{i \in La\_Plma面对的敌人}a_i}{\sum_{i \in La\_Plma面对的敌人}b_i} \times b_x$ 的注意力, 博士不想让 $La\_Pluma$ 太累, 所以希望让 $La\_Pluma$ 尽可能的对于已有敌人注意力更高, 现在博士想要请你算一下, 让 $La\_Pluma$ 阻挡多少敌人可以使得 $\frac{\sum_{i \in La\_Plma面对的敌人}a_i}{\sum_{i \in La\_Plma面对的敌人}b_i}$ 最大, 从而让 $La\_Pluma$ 更加专注于每一个敌人(羽毛笔至少面对一个敌人)

输入格式

第一行一个数 $n$ , 接下来 $n$ 行, 每行两个整数 $a_i, b_i$, 表示每一个敌人的两个数值

输出格式

若无解, 只需要输出一个 $-1$ 否则输出两行 第一行一个数表示答案,保留三位小数 第二行输出一个符合条件的 $w$ 数组, 对应每一个敌人, 若 $w_i$ 为 $0$,表示这个敌人不需要 $La\_Pluma$ 费心, 同时也不能提高 $La\_Pluma$ 的注意, 若为 $1$, 表示将这个敌人分配给 $La\_Pluma$,最近博士的理智不太够用, 所以只需要输出**字典序最小**的 $w$

说明/提示

对于 $100\%$ 的数据,$0 \le n \le 10^5 $, $ 0 \le a_i < 10^9$,$ 0 < b_i < 10^9$ 对于 $10\%$ 的数据, 保证 $n \le 10$ 对于 $50\%$ 的数据, 时限为 $1s$ 对于 $50\%$ 的数据, 空限为 $512 MB$ 以上数据范围存在重叠 **注:部分测试点拥有特殊的时空限制**