题目大意:
一个环上有8个数,从中选取连续的4个数使得和最大,求最大的和。
思路:
模拟。
1 #include<cstdio> 2 #include<cctype> 3 #include<algorithm> 4 inline int getint() { 5 register char ch; 6 while(!isdigit(ch=getchar())); 7 register int x=ch^'0'; 8 while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0'); 9 return x; 10 } 11 int main() { 12 int s[8],ans=0; 13 for(register int i=0;i<8;i++) { 14 s[i]=getint(); 15 } 16 for(register int i=0;i<8;i++) { 17 int tmp=0; 18 for(register int j=0;j<4;j++) { 19 tmp+=s[(i+j)%8]; 20 } 21 ans=std::max(ans,tmp); 22 } 23 printf("%d ",ans); 24 return 0; 25 }