时间限制 1 秒
内存限制 16 MB
提交次数 1840
通过人数 1110
金币数量 2 枚
难度 基础
有一组数,其排列形式如下: 11 , 19 , 9 , 12 , 5 , 20 , 1 , 18 , 4 , 16 , 6 , 10 , 15 , 2 , 17 , 3 , 14 , 7 , 13 , 8 , 11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8, 11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8, 且尾部 8 8 8 和头部 11 11 11 首尾相连,构成环形的一组数;
编程找出相邻的 4 4 4 个数,其相加之和最大,并给出它们的起始位置。
第一行有一个整数 n ( 5 ≤ n ≤ 20 ) ; n ( 5 ≤ n ≤ 20 ); n(5≤n≤20);
第二行有 n n n 个数 ( 对 于 第 i 个 整 数 的 值 a i 满 足 1 ≤ a i ≤ 1000 ) (对于第 i 个整数的值 a_i 满足 1≤a_i ≤1000) (对于第i个整数的值ai满足1≤ai≤1000)
第一行有一个数,即最大的和;
第二行有一个数,即起始数的位置;
注意:本题测试数据保证连续 4 4 4 个数的最大值是唯一的;
20
11 19 9 12 5 20 1 18 4 16 6 10 15 2 17 3 14 7 13 8
51
1
数组问题
数组问题
#include
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;
}