```cpp
#include<iostream>
using namespace std;
int main(){
int s = 0;
int n;
int a[200];
bool b[100000]={0};
cin >> n;
for(int i = 1;i <= n;i++){
cin >> a[i];
}
for(int i = 1;i <= n;i++){
for(int j = 1;j <= n;j++){
if(i == j){
continue;
}
b[a[i] + a[j]] = 1;
}
}
for(int i = 1;i <= n;i++){
if(b[a[i]]){
s++;
}
}
cout << s << endl;
}
```
提供一个正解,并注意题面到
**其中有多少个数,恰好等于集合中另外两个(不同的)数之和?** 那么在某些时候可能存在多组$a_i = a_j + a_k$,此时只能记作一组,你代码会记作多组
by 帝都_henry26268 @ 2023-10-31 16:11:09
@[wangsanjin](/user/1171929)
by 帝都_henry26268 @ 2023-10-31 16:12:21
@[帝都_henry26268](/user/315655) 感谢大佬
by Fyx2004 @ 2023-11-06 19:46:16