#aBC275G. [ABC275G] Infinite Knapsack

[ABC275G] Infinite Knapsack

AT_abc275_g [ABC275G] Infinite Knapsack

题目描述

NN 种物品,每种物品都有无限多个。第 ii 种物品的重量为 AiA_i,体积为 BiB_i,价值为 CiC_i

等级为 XX 的高桥君可以选择若干物品,使得所选物品的总重量不超过 XX,总体积也不超过 XX。在满足条件的情况下,同一种物品可以选择任意多个,也可以有不选择的种类。

设等级为 XX 的高桥君所能获得的最大总价值为 f(X)f(X)。可以证明极限 limX f(X)X\displaystyle\lim_{X\to\infty}\ \frac{f(X)}{X} 存在。请计算该值。

输入格式

输入通过标准输入给出,格式如下:

NN
A1A_1 B1B_1 C1C_1
A2A_2 B2B_2 C2C_2
\vdots
ANA_N BNB_N CNC_N

输出格式

请输出答案。如果你的答案与标准答案的绝对误差或相对误差不超过 10610^{-6},则视为正确。

输入输出样例 #1

输入 #1

2
100000000 200000000 100000000
200000000 100000000 100000000

输出 #1

0.6666666666666667

输入输出样例 #2

输入 #2

1
500000000 300000000 123456789

输出 #2

0.2469135780000000

说明/提示

数据范围

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 108Ai,Bi,Ci10910^8 \leq A_i, B_i, C_i \leq 10^9
  • 输入均为整数

样例解释 1

X=300000000X=300000000 时,高桥君可以选择若干物品,使得总重量和总体积都不超过 300000000300000000。一种选择方式是各选 11 个第 11 种和第 22 种物品,此时总价值为 100000000+100000000=200000000100000000+100000000=200000000,这是可以达到的最大价值,因此 f(300000000)300000000=23\dfrac{f(300000000)}{300000000}=\dfrac{2}{3}。对于本输入,也可以证明极限 limX f(X)X\displaystyle\lim_{X\to\infty}\ \dfrac{f(X)}{X} 也等于 23\dfrac{2}{3},所以答案为 0.66666660.6666666\ldots

由 ChatGPT 4.1 翻译