fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void quicksort(unsigned int *tab,int L,int R)
  6. {
  7. unsigned int v=tab[(L+R)/2];
  8. int i=L,j=R,x;
  9. do
  10. {
  11. while(tab[i]<v) i++;
  12. while(tab[j]>v) j--;
  13. if(i<=j)
  14. {
  15. x=tab[i];
  16. tab[i]=tab[j];
  17. tab[j]=x;
  18. i++;
  19. j--;
  20. }
  21. }
  22. while(i<=j);
  23. if(j>L) return quicksort(tab,L,j);
  24. if(i<R) return quicksort(tab,i,R);
  25. }
  26.  
  27. int main()
  28. {
  29. unsigned int *tab;
  30. int x,ile=0,t;
  31. cin>>t;
  32. for(int i=0; i<t; i++)
  33. {
  34. cin>>x;
  35. tab=new unsigned int [x];
  36. for(int j=0; j<x; j++)
  37. cin>>tab[j];
  38. quicksort(tab,0,x-1);
  39. for(int j=0; j<=x-3; j++)
  40. for(int k=j+1; k<x-1; k++)
  41. for(int l=k+1; l<x; l++)
  42. if(tab[j]+tab[k]==tab[l])
  43. ile++;
  44. cout<<ile<<endl;
  45. ile=0;
  46. }
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0s 15240KB
stdin
2
6
1 1 2 2 3 3
6
6 5 4 3 2 1
stdout
10
6