#P7777. 『JROI-2』Shelter

『JROI-2』Shelter

背景

And it's a long way forward
So trust in me
I'll give them shelter like you've done for me
And I know, I'm not alone
You'll be watching over us
Until ...

一个小女孩斜躺在一个驾驶舱的椅子上,长发从肩膀上飘落到地上。
她的嘴角绽放出微笑,身旁的显示屏写着 “返回 第三行星”。
她怀里的泰迪熊身上写着她的名字,Rin。

—— Shelter


题目描述

Rin 和爸爸还在地球上时,他们经常玩一个石子游戏。

爸爸摆出了 nn 堆石子,这 nn 堆石子编号为 11 到 nn。

游戏规则是这样的,每次 Rin 可以抓取石子,有两种抓取方式:

  • 选择一个数 ii,把第 ii 堆石子抓取走,代价为 i×pi \times p。
  • 选择两个数 i,ji,j,把第 ii 堆和第 jj 堆石子抓走,代价为 ∣i−j∣×q|i-j| \times q。

其中 p,qp,q 为爸爸提前定好的常数。

Rin 想知道,抓取完所有石子至少需要多少代价。

还剩 1919810114514 秒第三行星的灾难就要降临了,爸爸还需要 1919810114513.7 秒的时间把 Rin 安放到驾驶舱里,并启动机器让 Rin 进入 “Shelter” 里,因此,你只有 0.3 秒的时间帮助 Rin 算出这个结果哦!

输入格式

本题多测,第一行一个整数 TT 代表数据组数。
接下来 tt 行,每行三个整数 n,p,qn,p,q 代表石子堆数,和两个常数。

输出格式

TT 行每行一个整数代表答案。

2
5 2 3
4 1 5
8
8

提示

样例 1 解释

第一组数据:

  1. 利用第一个操作,拿走第 11 堆石子,代价为 1×2=21 \times 2=2。
  2. 利用第二个操作,拿走第 2,32,3 堆石子,代价为 ∣2−3∣×3=3|2-3| \times 3=3。
  3. 利用第二个操作,拿走第 4,54,5 堆石子,代价为 ∣4−5∣×3=3|4-5| \times 3=3。

最小代价为 2+3+3=82+3+3=8。

第二组数据:

  1. 利用第一个操作,拿走第 11 堆石子,代价为 1×1=11 \times 1=1。
  2. 利用第一个操作,拿走第 22 堆石子,代价为 2×1=22 \times 1=2。
  3. 利用第二个操作,拿走第 3,43,4 堆石子,代价为 ∣3−4∣×5=5|3-4| \times 5=5。

最小代价为 1+2+5=81+2+5=8。

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(1 pts):p,q=0p,q =0。
  • Subtask 2(1 pts):n=1n=1。
  • Subtask 3(30 pts):T≤5×104T \le 5 \times 10^4,n≤5×105n \le 5 \times 10^5。
  • Subtask 4(33 pts):T≤106T \le 10^6,n≤5×105n \le 5 \times 10^5。
  • Subtask 5(35 pts):无特殊限制。

对于 100%100\% 的数据,1≤n≤1091 \le n \le 10^9,0≤p,q≤1000 \le p,q \le 100,1≤T≤1061 \le T \le 10^6。

附件中的 Extra Example 满足 T=104T=10^4,可供调试使用。


Source:JROI-2 Summer Fun Round - T1

Idea&Sol:一只书虫仔

Std&Data:Tony2

Retest:Cocoly1990