这题主要的问题在于所有的人其实是一个圈而不是一排,也就是说最后的人是可以跟排头结合进行相加的
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int main(int argc, char** argv) {
int T,N,M,k;
cin>>T;
while(T--) {
cin>>N>>M;
int n[201]= {0};
for(int i=0; i<N; i++) {
cin>>n[i];
}
int max=0;
for(int i=0; i<N; i++) {
int sum=0;
k=M;
int j=i;
while(k>0) {
sum+=n[j];
j++;
if(n[j]==0) j=0;
k--;
}
if(max<sum) max=sum;
}
cout<<max<<endl;
}
return 0;
}