为什么50分

tctm169 杀手 2024-06-10 9:47:32 14

#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; }

{{ vote && vote.total.up }}

共 2 条回复

root 站长

b[a[i]+a[j]] = 0; 你这个做法很棒

root 站长

数列中有相同的数字只算一次。