fork download
  1. def good_triplets (arr, n):
  2. res=0
  3. freq=[0 for i in range(0,101)]
  4. for i in range(n):
  5. freq[arr[i]]=freq[arr[i]]+1
  6. arr=list(set(arr))
  7. n=len(arr)
  8. if(n>=3):
  9. for i in range(n-2):
  10. for j in range(i+1,n-1):
  11. for k in range(j+1,n):
  12. s=arr[i]+arr[j]+arr[k]
  13. tmp=0
  14. ww=0
  15. if(s%arr[i]==0):
  16. tmp=tmp+1
  17. ww=1
  18. if(s%arr[j]==0):
  19. tmp=tmp+1
  20. ww=2
  21. if(s%arr[k]==0):
  22. tmp=tmp+1
  23. ww=3
  24. if(tmp==1):
  25. a1=freq[arr[i]]
  26. a2=freq[arr[j]]
  27. a3=freq[arr[k]]
  28. res=res+(a1*a2*a3)
  29. for i in range(n-1):
  30. for j in range(i+1,n):
  31. val1=2*arr[i]+arr[j]
  32. val2=2*arr[j]+arr[i]
  33. if(val1%arr[i]!=0 and val1%arr[j]==0):
  34. res=res+((freq[arr[i]]*(freq[arr[i]]-1))//2)*freq[arr[j]]
  35. if(val2%arr[j]!=0 and val2%arr[i]==0):
  36. res=res+((freq[arr[j]]*(freq[arr[j]]-1))//2)*freq[arr[i]]
  37.  
  38. else:
  39. if(n==1):
  40. res=0
  41. elif(n==2):
  42. val1=arr[0]+arr[1]+arr[0]
  43. val2=arr[1]+arr[1]+arr[0]
  44. if(val1%arr[0]!=0 and val1%arr[1]==0):
  45. res=res+((freq[arr[0]]*(freq[arr[0]]-1))//2)*freq[arr[1]]
  46. if(val2%arr[1]!=0 and val2%arr[0]==0):
  47. res=res+((freq[arr[1]]*(freq[arr[1]]-1))//2)*freq[arr[0]]
  48. return(res*6)
  49.  
  50. n = int(input())
  51. arr = []
  52. for i in range(n) :
  53. x = int(input())
  54. arr.append(x)
  55.  
  56. out_ = good_triplets(arr, n)
  57. print (out_)
  58.  
Success #stdin #stdout 0.02s 9412KB
stdin
4
1
2
2
1
stdout
12