#P11959. 奶牛竞赛

奶牛竞赛

题目描述

农夫约翰有 3×N(1 ≤ N ≤ 500000)头牛,编号依次为 0 … 3N−1。每头牛都有一个整数体重和一个“价值度” Ui。
比赛允许带 N 头牛参赛,目标是使选中牛的价值度总和最大;若能达到最大价值度的方案不止一个,则在这些方案中选择总体重最小的一组。请输出这组牛的总体重 对 M 取模 的结果(即总体重 mod M)。

为加速输入,体重和价值度由如下多项式生成(对每头牛 i):

  • 体重:Wi = (a×i^5 + b×i^2 + c) mod d
  • 价值:Ui = (e×i^5 + f×i^3 + g) mod h

其中 0 ≤ a,b,c,d,e,f,g,h ≤ 10^9,i ∈ [0, 3N−1]。

输入格式

一行,包含 10 个用空格分隔的整数:
N, a, b, c, d, e, f, g, h, M

输出格式

一行,一个整数:价值度最高且在此基础上总体重最小的 N 头奶牛的总体重之和 mod M 的结果。

输入样例 #1

2 0 1 5 55555555 0 1 0 55555555 55555555

输出样例 #1

51

题目说明

示例生成的 6 头牛(i=0…5)的体重依次为 5、6、9、14、21、30;价值度依次为 0、1、8、27、64、125。
价值度最高的两头是 i=4 与 i=5(64 与 125),其体重之和为 21 + 30 = 51;