题解 洛谷P6437 【[COCI2011-2012#6] JACK】

言归正传,这道题目,我们可以用暴力枚举来解决。

首先,输入,输入元素个数,及最大值,还有数组。

暴力枚举三个数的下标即可,注意下标不能重复哦!

求出三个数后,求和,看看符不符合要求,再在所有符合要求的里面取最大值。

跑得还挺快。

于是,没什么好说的了,毕竟他是一道入门题。

上代码:

#include<bits/stdc++.h>
using namespace std;
int Total,Max;
int Array[101];
int main()
{
    register int i,j,k;
    cin>>Total>>Max;
    for(i=1;i<=Total;i++)
    {
        cin>>Array[i];
    }
    register int Ans=0;
    for(i=1;i<=Total;i++)
    {
        for(j=i+1;j<=Total;j++)
        {
            for(k=j+1;k<=Total;k++)
            {
                if(Array[i]+Array[j]+Array[k]<=Max)
                {
                    Ans=max(Ans,Array[i]+Array[j]+Array[k]);
                } 
            }
        }
    }
    cout<<Ans<<endl;
    return 0;
}
View Code

 

posted @ 2020-08-08 14:51  Bushuai_Tang  阅读(178)  评论(0编辑  收藏  举报