fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int freq[5000000+5] = {0};
  5.  
  6. int solve(vector<int>& a){
  7. memset(freq, 0, sizeof(freq));
  8. int n = a.size();
  9.  
  10. for(int i=3;i<n;i++){
  11. freq[a[i]]++;
  12. }
  13.  
  14. int ans = 0;
  15. for(int i=0;i<n-3;i++){
  16. for(int j=i+1;j<n-2;j++){
  17. int k=j+1;
  18. for(;k<n-1;k++){
  19. int sum = -(a[i]+a[j]+a[k]);
  20. ans += freq[sum];
  21. freq[a[k+1]]--;
  22. }
  23. for(int z=k+2;z<n;z++){
  24. freq[a[z]]++;
  25. }
  26. }
  27. }
  28. return ans;
  29. }
  30.  
  31. int main() {
  32. int n;
  33. cin>>n;
  34. vector<int>a(n+1);
  35. for(int i=0;i<n;i++){
  36. cin>>a[i];
  37. }
  38. cout<<solve(a);
  39. return 0;
  40. }
Success #stdin #stdout 0.01s 23024KB
stdin
6
0 0 0 0 0 0
stdout
-110