#include <iostream>

#include <algorithm>

#include <string.h>

#include <string>

#include <math.h>

#define LL long long int

using namespace std;

int n;

int a[101];

int b[101];//备份原始数组a,在循环里面使用,每次使用都需要用fuzhu()函数重新构造

int c[101];

void shanchu(int ide){//当可以赢球票的时候,需要把赢得的球票踢出队列

for(int i=ide;i<n;i++){

b[i]=b[i+1];

}

}


void fuzhu(){//复制函数

for (int i = 1; i <= n; i++) {

b[i] = a[i];

}

}


int main(){

cin>>n;

int max=0;

for(int i=1;i<=n;i++){

cin>>a[i];

if(a[i]>max){

max=a[i];

}

}//最大值作为循环的退出条件比较节约时间

for(int j=1;j<=n;j++){//大循环进行所有起始方式的循环

int k = 1;

int i = j;

int q=n;

fuzhu();

int sum = 0;

while (k <= max) { //小循环,进行操作

if (b[i] == k) {

sum += b[i];

k = 0;

shanchu(i);

i--;

q--;

}

if (q == 0) {//当循环用的数组b的元素全部取出的时候,就退出

break;

}

k++;

i++;

if (i > q) {

i = i % q;

}

if (i == 0) {//减少循环次数,直接取消掉循环控制变量i的0值

i = 1;

}

}

c[j]=sum;//把循环操作结束之后的结果保存到数组中,找最大值

}

max=0;

for (int i = 1; i <= n; i++) {

if (c[i] > max) {

max = c[i];

}

}

cout<<max<<endl;

}




点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论