题目描述
Hansel 和 Gretel 得到了一块分成 88 片的披萨,每片上面有不同数量的蘑菇,表示为 S_1,S_2,...,S_8S1,S2,...,S8。Gretel 很喜欢蘑菇,她想要找到连续的四片披萨使得上面的蘑菇最多。
输入格式
一共 88 行,每行一个正整数 S_iSi(ii 为行数),表示披萨片上的蘑菇数。
输出格式
一行一个正整数,表示连续的四片披萨上最多有几个蘑菇。
输入输出样例
输入 #1复制
5 2 1 4 5 1 2 3
输出 #1复制
12
输入 #2复制
2 6 5 3 3 7 2 6
输出 #2复制
19
//数蘑菇
#include <stdio.h>
int main(){
int a[8],i,j,k,max=0;
for(i=0;i<8;i++){
scanf("%d",&a[i]);
}
for(i=0;i<8;i++){
int sum=0; //j表示每取一个数的下标
for(j=i,k=0;k<4;j=j%8,k++){ //如果不取余,就不能循环,所以多设置一个变量k出来,表示取4个数
sum+=a[j];
if(sum>max){
max=sum;
}
j++;
}
}
printf("%d",max);
}
总结: 刚开始没有考虑到是环形,所以导致样例2始终过不了