#### Code
```cpp
#include <bits/stdc++.h>
using namespace std;
#define ll long long
bool l[100001];
ll dfs(vector<int> arr, int n)
{
ll ans = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
for (int k = 0; k < n && k != j; ++k)
if ((arr[i] == (arr[j] + arr[k])) && l[arr[i]] == 0) {
l[arr[i]] = 1;
ans++;
//cout << ans << "1!!" << endl;
}
}
//cout << i << " " << j << " " << k << endl;
}
return ans;
}
int main() {
int n;
vector<int> arr;
cin >> n;
for (int i = 0; i < n; ++i)
{
int temp;
cin >> temp;
arr.push_back(temp);
}
bool flag = 0;
ll ans = dfs(arr, n);
cout << ans << endl;
return 0;
}
```
by 13704085069a @ 2023-07-17 14:55:42
@[yxxlxtxx](/user/1026049)
建议排序后,从后往前推。
不然会算重。
比如:
```cpp
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int n,s;
int a[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1);
for(int k=n;k>=3;k--)
{
for(int i=1;i<=k-1;i++)
{
for(int j=i+1;j<=k-1;j++)
{
if(a[i]+a[j]==a[k])
{
s++;
goto a1;//防止算重,直接跳过
}
}
}
a1:n=n;
}
cout<<s;
return 0;
}
```
by Aventurine_stone @ 2023-07-18 12:11:57
感谢大神
by yxxlxtxx @ 2023-07-18 14:16:02
```cpp
#include<bits/stdc++.h>
using namespace std;
int a[105];
int main(){
int n,s=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=2;i<=n;i++){
for(int j=1;j<=i-1;j++){
for(int k=j+1;k<i;k++){
if(a[i]==a[j]+a[k]){
s++;
k=i,j=i;
}
}
}
}
cout<<s;
}
```
by Zhangmuchen @ 2023-07-23 15:52:47