#P12275. [蓝桥杯 2024 国 Python B] 工厂

    ID: 13931 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>贪心2024Special Judge图论建模蓝桥杯国赛

[蓝桥杯 2024 国 Python B] 工厂

题目描述

H 市是一座制造业十分发达的城市。在 H 市中,工厂可以生产 nn 种不同的物品,部分物品都可以以特定的价格 aia_i 在市场上售出而带来收益。生产方式分为两类,使用第一类生产方式每个工人可以在一天时间内生产若干件物品 yy。使用第二类生产方式,每个工人可以在一天时间内使用若干件物品 xx 生产若干件物品 yy,其中 xyx \leq y,即只能将编号较小的物品加工成编号较大的物品。

小蓝作为 H 市的市长自然希望能够最大化收益,由于 H 市的人口非常多,你只需要帮她计算出平均一天内每个工人能够获得的最大收益即可。

输入格式

输入的第一行包含两个正整数 n,mn, m,用一个空格分隔,其中 nn 表示物品种数,mm 表示生产方式总数。

第二行包含 nn 个正整数 aia_i,相邻整数之间使用一个空格分隔,表示物品的售价,若 ai=0a_i = 0 则表示这种物品无法在市场上售出。

接下来 mm 行,每行包含四个非负整数 xi,yi,ki,wix_i, y_i, k_i, w_i,相邻整数之间使用一个空格分隔,表示一个工人可以在一天时间内使用 kik_i 件物品 xix_i 生产 wiw_i 件物品 yiy_i。特殊地,如果 ki=0k_i = 0(此时 xix_i 不一定为 00,请忽略 xix_i 的值)则表示该种生产方式是第一类生产方式,不需要原材料。

输出格式

输出一行包含一个实数,四舍五入保留正好两位小数,表示平均每个工人在一天时间内能够获得的最大收益。

3 3
1 0 2
1 1 0 6
1 2 5 10
2 3 6 10
9.52

提示

样例说明

11 个工人可以在一天时间内生产 66 份小麦,或者将 55 份小麦加工成 1010 份面粉,或者将 66 份面粉加工成 1010 份饼干。

那么最理想的情况是 55 个工人生产小麦,66 个工人将小麦加工成面粉,1010 个工人将面粉加工成饼干后在市场上以 22 的价格出售。

此时需要 2121 个工人生产,共能获得 200200 的收益。平均每个工人一天时间内获得的收益约为 9.529.52

评测用例规模与约定

  • 对于 50%50\% 的评测用例,1n,m3001 \leq n, m \leq 300wi=1w_i = 10ki10 \leq k_i \leq 1
  • 另存在 20%20\% 的评测用例,xi=yix_i = y_i
  • 对于所有评测用例,1n,m3000001 \leq n, m \leq 3000000ai1060 \leq a_i \leq 10^61wi101 \leq w_i \leq 100ki100 \leq k_i \leq 101xiyin1 \leq x_i \leq y_i \leq n。保证数据中至少存在一个 ki=0k_i = 0