有数组越界,记得关下o2。没办法,码力不够
#include<bits/stdc++.h>
using namespace std;
int a[11000],b[11000],q=1,h,num,maxx;
int n,ans;
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
//b[i] = a[i];
}
sort(a,a+n);
//sort(b,b+n);
//for(int i=0;i<n;i++){
//cout<<b[i]<<" ";
//}
maxx=a[n-1];
for(int i=0,t=0;i<n;i++,t++){
for(int j=q;j<n;j++){
int p;
num = a[i]+a[j];
b[p] = num;
p++;
}
q++;
}
for(int i=0;i<n;i++){
h+=i;
}
sort(b,b+h);
int u = unique(b,b+h) - b;
for(int i=0;i<u;i++){
if(b[i]<=maxx) ans++;
}
cout<<ans;
return 0;
}
30分,有去重,有排序