/**
* @description: 传送门
* 时间限制:C/C++语言 1000MS;其他语言 3000MS
* 内存限制:C/C++语言 65536KB;其他语言 589824KB
* 题目描述:
* 西西所在的国家有N座城市,每座城市都有一道传送门,城市 i 的传送门通往城市 a[i]。当西西位于城市 i 时,每次他可以执行以下三种操作中的一种:
*
* 花费 A 的费用,从城市 i 前往城市 a[i];
*
* 如果 a[i] > 1,可以花费 B 的费用,将 a[i] 的值减少 1;
*
* 如果 a[i] < N,可以花费 C 的费用,将 a[i] 的值增加 1。
*
* 现在,西西想从城市 1 前往城市 N,那么他至少要花费多少费用?
*
* 输入
* 第一行输入四个整数 N、A、B、C(1 < N <= 10000,1 <= A、B、C <= 100000)。
*
* 第二行输入 N 个整数 a[1] 到 a[N](1 <= a[i] <= N)。
*
* 输出
* 输出一个整数,表示从城市 1 前往城市 N 所花费的最少费用。
*
*
* 样例输入
* 7 1 1 1
* 3 6 4 3 4 5 6
* 样例输出
* 4
*
* 提示
* 样例解释
* 西西可以按顺序执行以下操作:
* 将 a[1] 减少 1,此时 a[1] = 2;
* 从城市 1 前往城市 2;
* 将 a[2] 增加 1,此时 a[2] = 7;
* 从城市 2 前往城市 7。
* @author: Seldom
* @time: 2020/4/20 15:52
*/
/**
* @description: 滑动窗口
* 时间限制:C/C++语言 1000MS;其他语言 3000MS
* 内存限制:C/C++语言 65536KB;其他语言 589824KB
* 题目描述:
* 在机器学习中有一种流行的池化操作,而在池化操作中,3*3极大值池化应用十分广泛。什么是3*3极大值池化呢?设原矩阵是n*m的,则3*3极大值池化就是枚举矩阵中的所有3*3的子矩阵,分别求最大值并顺次拼接而成,处理过后的矩阵是(n-2)*(m-2)。
*
* 例如,原矩阵是[[1,2,3,4],[5,6,7,8],[9,10,11,12]],经过池化之后就变成[[11,12]]。
*
* 为了提高难度,选择的滑动窗口并不是3*3的,而是a*b的,由于输入可能是非常大的,原n*m的矩阵权值由以下公式计算得到,h(i,j)=i*j mod 10。(1<=i<=n,1<=j<=m)
*
* 由于输出矩阵也是一个很麻烦的事情,因此你只需输出经过a*b池化处理后的矩阵的元素之和即可。
*
* 输入
* 输入第一行包含四个正整数,n,m,a,b,分别表示原矩阵的行列数量和滑动窗口的行列数量。(1<=n,m,a,b<=1000)
*
* 输出
* 输出仅包含一个整数,即新矩阵的元素之和。
*
*
* 样例输入
* 4 5 3 3
* 样例输出
* 54
* @author: Seldom
* @time: 2020/4/20 17:14
*/