1 solutions

  • 0
    @ 2025-12-1 8:40:59

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int n,x,a[60],ans;
    int main()
    {
        cin>>n;
    	while(n--)
    	{
    		cin>>x;
    		a[x]++;
    	}
    	for(int i=100;i>=2;i--)
    	{
    		int tmp=0;
    		for(int j=1;j<=i/2;j++)
    		{
    			int k=i-j;
    			if(k>50) continue;
    			if(a[k]>0 && a[j]>0) 
    			{
    				if(j!=k) tmp+=min(a[k],a[j]);
    				else tmp+=a[j]/2;				
    			}
    		}
    		ans=max(ans,tmp);
    	}
    	cout<<ans;
        return 0;
    }
    
    • 1

    Information

    ID
    633
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By