#P2711. 「BalkanOI 2018 Day1」Homecoming

「BalkanOI 2018 Day1」Homecoming

题目描述

翻译自 BalkanOI 2018 Day1 T2「Homecoming

NN 门课程,分别编号为 00N1N-1。如果你 pass 了课程 ii,你可以拿到 AiA_i 美刀。
NN 本教材,分别编号为 00N1N-1ii 号教材的价格为 BiB_i 美刀。
如果你要 pass 课程 ii,你需要购买编号为 i,i, (i+1)modN,(i+1)\bmod N, (i+2)modN,(i+2)\bmod N, ,\ldots, (i+K1)modN(i+K-1)\bmod N 的课本。KK 为给定的常数。
你的目的是赚钱而非 pass 所有课程。请求出你最多能赚多少美刀。

交互过程

本题只支持 C++ 语言使用函数交互测评。其他语言可参考「输入与输出」一节进行交互。

选手程序应包含头文件 homecoming.h

选手程序需要实现如下函数:

long long int solve(int N, int K, int *A, int *B);

在一次运行中这个函数可能会被调用多次。

输入与输出

输入的第一行为一个整数 TT,表述数据组数。

接下来 TT 组数据,对于每组数据,第一行两个整数 N,KN,K,第二行 NN 个整数 AiA_i,第三行 NN 个整数 BiB_i

对于每组数据,输出一行一个整数表示这组数据的答案。

样例

调用

solve(3, 2,
[40, 80, 100],
[140, 0, 20])

的返回值为 6060

数据范围及限制

令所有对 solve 函数的调用中 NN 的总和为 SNS_NNKNK 的总和为 SNKS_{NK}。那么:

  • 1KN2×1061\le K\le N\le 2\times 10^6
  • 1SN2×1061\le S_N\le 2\times 10^6
  • 0Ai,Bi1090\le A_i,B_i\le 10^9

详细子任务及附加限制如下表所示。

子任务编号 附加限制 分值
11 1SN5001\le S_N\le 500 1313
22 1SN50001\le S_N\le 5000 1818
33 1SNK2×1061\le S_{NK}\le 2\times 10^6 3131
44 无附加限制 3838