#P2012. 二维迷宫最大得分方案数

二维迷宫最大得分方案数

题目描述

有一个 nn 行 mm 列的二维网格。我们用 (r,c)(r, c) 表示这个二维迷宫中从上到下第 rr 行,从左到右第 cc 列的格子。

每个格子上都有一个数字,其中格子 (i,j)(i, j) 上的数字是 ai,ja_{i,j}。

Lucas 一开始在网格的左上角 (1,1)(1, 1) 处,他要到达网格的右下角 (n,m)(n, m) 处。

每次移动,Lucas 都只能从当前所在的格子 向右 或 向下 移动到与它相邻的那个格子中。

Lucas 最终会有一个得分,这个得分定义为 Lucas 在移动过程中到达过的所有格子上的数字之和(包括 a1,1a_{1, 1} 和 an,ma_{n,m})。

请你帮助 Lucas 求解最大得分,以及有多少种不同的移动方案能够获得最大得分。

由于方案数可能很多,所以你只需要输出方案数模 998244353998244353 的结果即可。

注:虽然最大得分可能也很大,但是最大得分不会超出 long long 的表达范围,所以最大得分不用对任何数取模。

输入格式

第一行,两个整数 nn 和 mm,以一个空格分隔。

接下来 nn 行,每行包含 mm 个整数,表示每个格子上的数字。其中,第 ii 行的第 jj 个数字表示 ai,ja_{i, j}。

输出格式

输出共两行。

第一行,一个整数,表示 Lucas 的最大得分。

第二行,一个整数,表示最大得分的方案数,对 998244353998244353 取模。

样例

3 3
1 1 1
1 1 1
1 1 1
5
6
5 4
-3 5 -6 1
2 0 2 -6
-5 -3 -8 -2
-1 5 -2 1
9 -5 2 -6
-2
1

说明/提示

数据规模与约定

数据规模与约定

  • 对于 20%20\% 的数据,n,m≤10n, m \le 10,∣ai,j∣≤10| a_{i,j} | \le 10
  • 对于 40%40\% 的数据,n,m≤100n, m \le 100,∣ai,j∣≤1000| a_{i,j} | \le 1000
  • 对于 100%100\% 的数据,1≤n,m≤10001 \le n, m \le 1000,∣ai,j∣≤109| a_{i,j} | \le 10^9