zoj 3714 Java Beans(枚举 水)

 

题意:n个人围成一个圈 从中选择连续的m个人 求他们的最大和

思路:直接暴力枚举 注意取模   

    if(j>n) temp%=n;

 

#include<stdio.h>

#include<string.h>

#include<math.h>

#include<iostream>

#include<algorithm>

#include<queue>

#include<stack>

#define mem(a,b) memset(a,b,sizeof(a))

#define ll __int64

#define MAXN 1000

#define INF 0x7ffffff

#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

using namespace std;

int a[300];

int main()

{

    int t,n,m;

    int i,j;

    scanf("%d",&t);

    while(t--)

    {

        scanf("%d%d",&n,&m);

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

            scanf("%d",&a[i]);



        int maxx=0;



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

        {

            int sum=0;

            for(j=i;j<=m+i-1;j++)

            {

                int temp=j;

                if(j>n) temp%=n;

                sum+=a[temp];

            }

            if(maxx<sum) maxx=sum;

        }

        printf("%d\n",maxx);

    }

    return 0;

}

  

你可能感兴趣的:(java)