Here in this problem, we are given 3 arrays a, b and c of different sizes, find the number of distinct triplets(p,q,r) where p is an element of a, written as
p \;\epsilon \;a ,\;\; q\epsilon b \;\; and\;\;r\epsilon c satisfying the criteria:
p\leq q and q\geq r Read the full question on hackerrank

## Explanation Video:

Youtube Channel partner: CodingCart
Mentor: Satyendra Jaiswal
Langauge: Python

## Source Code:  for triplets function


# Complete the triplets function below.
def triplets(a, b, c):
a=sorted(set(a))
b=sorted(set(b))
c=sorted(set(c))
count=m=n=0
for v in b:
while m < len(a) and a[m]<=v:   #p<=q
m+=1
while n < len(c) and c[n]<=v:  #r<=q
n+=1
count+=m*n
return count

coming soon…
coming soon…

## Full Source Code:


#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the triplets function below.
def triplets(a, b, c):
a=sorted(set(a))
b=sorted(set(b))
c=sorted(set(c))
count=m=n=0
for v in b:
while m < len(a) and a[m]<=v:   #p<=q
m+=1
while n < len(c) and c[n]<=v:  #r<=q
n+=1
count+=m*n
return count

if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')

lenaLenbLenc = input().split()

lena = int(lenaLenbLenc[0])

lenb = int(lenaLenbLenc[1])

lenc = int(lenaLenbLenc[2])

arra = list(map(int, input().rstrip().split()))

arrb = list(map(int, input().rstrip().split()))

arrc = list(map(int, input().rstrip().split()))

ans = triplets(arra, arrb, arrc)

fptr.write(str(ans) + '\n')

fptr.close()


coming soon…
coming soon…