首页 > 编程学习 > 东方博宜OJ——1163 - 相加之和最大,并给出它们的起始位置

文章目录

      • 题目参数
      • 题目描述
      • 输入
      • 输出
      • 样例
        • 输入
        • 输出
      • 来源
      • 标签
      • 正确代码


题目参数

时间限制 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, 1119912520118416610152173147138 且尾部 8 8 8 和头部 11 11 11 首尾相连,构成环形的一组数;

编程找出相邻的 4 4 4 个数,其相加之和最大,并给出它们的起始位置。

输入

第一行有一个整数 n ( 5 ≤ n ≤ 20 ) ; n ( 5 ≤ n ≤ 20 ); n(5n20)

第二行有 n n n 个数 ( 对 于 第 i 个 整 数 的 值 a i 满 足 1 ≤ a i ≤ 1000 ) (对于第 i 个整数的值 a_i 满足 1≤a_i ≤1000) iai1ai1000

输出

第一行有一个数,即最大的和;

第二行有一个数,即起始数的位置;

注意:本题测试数据保证连续 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<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;
}
Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式