~~这题不是用桶吗~~
by 明依 @ 2019-04-27 09:42:00
```c
#include<bits/stdc++.h>
using namespace std;
int a[100010],b[100010];
int main() {
int n,c[100010],ans=0;
cin>>n;
memset(b,0,sizeof(b));
for(int i=1; i<=n; i++) {
cin>>c[i];
a[c[i]]++;
}
for(int i=1; i<n; i++) {
for(int j=i+1; j<=n; j++) b[c[i]+c[j]]++;
}
for(int i=1; i<=100010; i++) {
if(b[i]>0&&a[i]) ans++;
}
cout<<ans;
return 0;
}
```
by 明依 @ 2019-04-27 09:43:08
#include<bits/stdc++.h>
using namespace std;
int a[100010],b[100010];
int main() {
int n,c[100010],ans=0;
cin>>n;
memset(b,0,sizeof(b));
for(int i=1; i<=n; i++) {
cin>>c[i];
a[c[i]]++;
}
for(int i=1; i<n; i++) {
for(int j=i+1; j<=n; j++) b[c[i]+c[j]]++;
}
for(int i=1; i<=100010; i++) {
if(b[i]>0&&a[i]) ans++;
}
cout<<ans;
return 0;
}
by chen_zhe2 @ 2019-04-27 10:08:52
#include<bits/stdc++.h>
using namespace std;
int a[100010],b[100010];
int main() {
int n,c[100010],ans=0;
cin>>n;
memset(b,0,sizeof(b));
###### for(int i=1; i<=n; i++) {
cin>>c[i];
a[c[i]]++;
}
for(int i=1; i<n; i++) {
for(int j=i+1; j<=n; j++) b[c[i]+c[j]]++;
}
for(int i=1; i<=100010; i++) {
if(b[i]>0&&a[i]) ans++;
}
cout<<ans;
return 0;
}
by chen_zhe2 @ 2019-04-27 10:09:39
希望更丰富的展现?[使用Markdown](https://www.luogu.org/wiki/show?name=帮助:markdown)
by ⚡进击_蒟蒻⚡ @ 2019-04-27 10:33:33
我是c++萌新
by 孙玉瑶 @ 2019-04-27 11:15:11
窝帮你改了下qwq
```cpp
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[110],b[110],n,j,i,count=0,k;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a[i]);
b[i]=a[i];
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
for(k=j;k<=n;k++)
{
if(a[k]!=a[j])
if(b[i]==a[j]+a[k])
{
count++;
b[i]=0;
}
}
}
}
printf("%d",count);
return 0;
}
```
希望对你有帮助qwq
by Ln_YJIn @ 2019-04-27 11:42:29
一个数有两种及以上分法时只算一次。比如6=1+5=2+3,6这个数只算一次,而你的代码算了两次。
by 原味麻酱 @ 2019-04-28 22:15:35
谢谢各位
by 孙玉瑶 @ 2019-05-01 10:15:00