#include <bits/stdc++.h>
#include
#include
#include
#include
#include
#include
using namespace std;
int a[105];
int b[20005];
int n,sum,mx;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
b[a[i]]++;
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(a[i]+a[j]<=10000 && b[a[i]+a[j]]){
sum++;
b[a[i]+a[j]]--;
}
}
}
printf("%d",sum);
return 0;
}
共 2 条回复
b[a[i]+a[j]] = 0;
你这个做法很棒数列中有相同的数字只算一次。