Activities
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目背景
飞飞鸳鸯鸟,举翼相蔽亏。
俱来绿潭里,共向白云涯。
音容相眷恋,羽翮两逶迤。
蘋萍戏春渚,霜霰绕寒池。
浦沙连岸净,汀树拂潭垂。
年年此游玩,岁岁来追随。
—— 唐·陈子昂《鸳鸯篇》
题目描述
下课了,BC 学校的同学们来到操场上做活动。
有 个活动,每个活动有两个参数 和 ,其中 指如果参加活动 则会获得 的快乐值, 表示如果参加活动 则会耗费 的体力值。
已知同学们想获得 的快乐值,且他们做的活动的编号必须连在一起。现在请你为同学们在 个活动中选择一些活动,使得在满足条件的情况下耗费的总体力值最小。求这个最小值。
输入格式
注意:由于本题读入量巨大,所以无需读入 和 数组。具体构造方式见下。
本题共有 组测试数据,共输入 行。
- 第 行: 个整数 ,表示测试数据数量。
- 第 行,第 行表示第 组测试数据。
对于每组测试数据:
- 行 个整数 ,表示一共有 个活动,同学们希望快乐值最少为 , 用于构造 数组, 用于构造 数组。具体构造方式如下:
输出格式
共输出 行:
- 第 行: 个整数表示测试数据 的最小的体力值。
样例
1
5 760 4 5 3 10 4 6
1029
共有 个活动,同学们希望快乐值最小为 ,每个活动的快乐值分别为 ,体力值分别为 。
选择做 这些活动,获得快乐值为 ,耗费体力值为 。可以证明。这是最小的体力值。
数据范围
特殊性质 | 总分值 | 时限 | |||
---|---|---|---|---|---|
无 | |||||
, | |||||
无 | |||||
- 对于 的数据,,,,。
- 提示:你可以通过 的个位数判断此测试点属于哪个 。
模板
您可以直接 Copy 下面的代码,其中读入部分已经完善,只需要在 Solve()
函数处完成自己的代码即可。
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int MAXN = 5000010;
int T, N, H, A, B, C, D, E, F, h[MAXN], t[MAXN];
inline void Input()
{
scanf("%lld%lld%lld%lld%lld%lld%lld%lld", &N, &H, &A, &B, &C, &D, &E, &F);
h[1] = A;
for (int i = 2; i <= N; ++ i )
h[i] = (h[i - 1] * B + C) % 100000000 + 1;
t[1] = D;
for (int i = 2; i <= N; ++ i )
t[i] = (t[i - 1] * E + F) % 100000000 + 1;
return;
}
inline int Solve()
{
// Write Code Here ~
}
signed main()
{
scanf("%lld", &T);
while (T -- )
{
Input();
printf("%lld\n", Solve());
}
return 0;
}
[北辰杯 North-Star-Cup] 八月入门赛
- Status
- Done
- Rule
- Ledo
- Problem
- 6
- Start at
- 2023-8-18 18:00
- End at
- 2023-8-19 0:00
- Duration
- 6 hour(s)
- Host
- Partic.
- 105