有长度为n的一圈整数,要在n个数中找m个连续整数数和最大和最小。现要求输出最大连续m个数的起始数的和下标和最小连续m个数的起始数的和下标。
输入:
6 3 (n和m)
2 3 5 7 9 11 (n个数,但是11和2也是连着)
输出
4(最大3个数的和是7+9+11,7的下标是4)
1(最小3个数的和是2+3+5,2的下标是1)
**数据范围:n<=300,m<=20, 0<=每个整数<=10000。
今天压根没做什么题目,就学了这么一道题。好吧,我看了很久,原来可以先考虑把题目变成长度为n的直线
然后把m个数依次相加并比较,圆圈只是多加了a[1],a[2],需要
for (inti=1;i<m;i++)
a[n+i]=a[i];其他的再说吧。
注:今天发现,自己在第一次敲好代码后,总是不检查就编译,并且在循环中不注意对应,得注意了。