#include <stdio.h>
#include <stdlib.h>

int compare(const void *a,const void *b) {
    long long A=*(long long*)a;
    long long B=*(long long*)b;
    if(A>B) return 1;
    else if (A<B) return-1;
    else return 0;
}
long long num[1001];
long long two[510000];

int binary(long long target,int size) {
    int st=0;
    int en=size-1;
    while(st<=en) {
        int mid=(st+en)/2;
        if(two[mid]==target) return 1;

        if(two[mid]<target) st=mid+1;
        else en=mid-1;
    }
    return 0;
}
int main() {
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++) {
        scanf("%lld",&num[i]);
    }
    qsort(num,n,sizeof(long long),compare);
    int cnt=0;
    for(int i=0; i<n; i++) {
        for(int j=i; j<n; j++) {
            two[cnt++]=num[i]+num[j];
        }
    }
    qsort(two,cnt,sizeof(long long),compare);

    for(int i=n-1; i>=0; i--) {
        for(int j=i; j>=0; j--) {
            if(binary(num[i]-num[j],cnt)) {
                printf("%lld",num[i]);
                 return 0;
              }
        }
    }
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: