WOJ-74 ABC

来源:互联网 发布:违章查询软件下载 编辑:程序博客网 时间:2024/06/06 14:20

点击这里查看题目
果然中等题比简单题都简单多了。排序,然后从大到小搜答案。时间复杂度O(n^2)。据说n^3暴力也能过。

#include<iostream>#include<algorithm>using namespace std;int a[10086];int main(){    int t;    cin>>t;    while(t--)    {        int n;        int ans=-1;        cin>>n;        for(int i=0;i<n;i++)scanf("%d",&a[i]);        sort(&a[0],&a[n]);        int flag=0;        for(int i=n-1;i>=0;i--)        {            int l=0,r=i-1;            while(l<r)            {                if(a[l]+a[r]>a[i])r--;                else if(a[l]+a[r]<a[i])l++;                else if(a[l]+a[r]==a[i])                {                    flag=1;break;                }            }            if(flag){ans=a[i];break;}        }        cout<<ans<<endl;    }}