【基础】相加之和最大,并给出它们的起始位置
显示标签
时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 16MB,其他语言 32MB
难度:中等
分数:100 OI排行榜得分:12(0.1*分数+2*难度)
出题人:根
内存限制:C/C++ 16MB,其他语言 32MB
难度:中等
分数:100 OI排行榜得分:12(0.1*分数+2*难度)
出题人:根
描述
有一组数,其排列形式如下: 11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8, 且尾部8和头部11首尾相连,构成环形的一组数,编程找出相邻的4个数,其相加之和最大,并给出它们的起始位置。
输入描述
第一行有一个整数n( 5 <= n <= 20 )
第二行有n个数
输出描述
第一行有一个数,即最大的和
第二行有一个数,即起始数的位置
用例输入 1
20
11 19 9 12 5 20 1 18 4 16 6 10 15 2 17 3 14 7 13 8
用例输出 1
51
1
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,i,a[10005],sum=0,weizhi,max=-10000;
cin>>n;
for(i=1; i<=n; i++) {
cin>>a[i];
}
for(i=1; i<=n; i++) {
sum=a[i]+a[i+1]+a[i+2]+a[i+3];
if(sum>max) {
max=sum;
weizhi=i;
}
}
cout<<max<<endl<<weizhi;
return 0;
}