对决 (game.cpp\c\pas)

对决 (game.cpp\c\pas)

【问题描述】
丁国国王的密谋被破坏了。
大魔王很生气,并且他知道是你坏了他的好事,于是他找来你。
“跟我玩个游戏,你赢了,我就放你走。”
游戏是这样的:你和大魔王在一个规模为 1 * n 的棋盘中下棋,第一个人可以下在第1 到 m 中的任意一个位置。接下来每一个人可以下在第 i + 1 到 i + m 的任意一个位置,其中i为上一个人下棋的位置。
每个格子里有一个数,如果一个人下棋在格子i,会得到a[i]的分值。
当不能继续操作时,游戏结束。
大魔王允许你编个程序计算一下,当你和大魔王都采取最优策略时,你的得分减去大魔王的得分。
你们决定通过掷硬币来决定先后手,因此你要把你先后手的两种情况都考虑一下。

【输入格式】
第一行:两个正整数n和m , 用空格隔开。
第二行:n 个数,表示棋盘上的数字。

【输出格式】
两行,每行各一个数, 第一个数为你先手时的答案, 第二个数为你后手时的答案。

【输入输出样例】
game1.in

1 3
1

game1.out
1
-1

game2.in
2 100
2 2

game2.out
2
-2

【数据范围】
对于前30%的数据,n ≤ 15;
对于前60%的数据,m ≤ 100;
对于100%的数据,1 ≤ n , m ≤ 100000,,a数组中的数保证在int范围内。

信息

难度
9
分类
(无)
标签
递交数
35
已通过
3
通过率
9%
被复制
1
上传者