Problem:


Score : 200 points

Problem Statement

Rng is preparing a problem set for a qualification round of CODEFESTIVAL.

He has N candidates of problems. The difficulty of the i-th candidate is D_i.

There must be M problems in the problem set, and the difficulty of the i-th problem must be T_i. Here, one candidate of a problem cannot be used as multiple problems.

Determine whether Rng can complete the problem set without creating new candidates of problems.

Constraints

1 \leq N \leq 200,000

1 \leq D_i \leq 10^9

1 \leq M \leq 200,000

1 \leq T_i \leq 10^9

All numbers in the input are integers.

Partial Score

100 points will be awarded for passing the test set satisfying N \leq 100 and M \leq 100.

Input

Input is given from Standard Input in the following format:

N
D_1 D_2 ... D_N
M
T_1 T_2 ... T_M

Output

Print YES if Rng can complete the problem set without creating new candidates of problems; print NO if he cannot.

Sample Input 1

5
3 1 4 1 5
3
5 4 3

Sample Output 1

YES

Sample Input 2

7
100 200 500 700 1200 1600 2000
6
100 200 500 700 1600 1600

Sample Output 2

NO

Not enough 1600s.

Sample Input 3

1
800
5
100 100 100 100 100

Sample Output 3

NO

Sample Input 4

15
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
9
5 4 3 2 1 2 3 4 5

Sample Output 4

YES



Sample input:
5
3 1 4 1 5
3
5 4 3


Sample output:
YES

Submission status: Runtime Error

Solution code:
import sys
N = int(input())
D = [int(i) for i in input().split(" ")]
M = int(input())
T = [int(i) for i in input().split(" ")]

if len(T) > len(D):
    print("NO")
    sys.exit()
else:
    for i in T:
        if i in T:
            D.remove(i)
        else:
            print("NO")
            sys.exit()
print("YES")

Submission status: Runtime Error

Solution code:
N = input()
D = [int(i) for i in input()]
M = input()
T = [int(i) for i in input()]

for t in T:
    try:
        D.remove(t)
    except:
        print("NO")
        quit()
print("YES")

Submission status: Runtime Error

Solution code:
import sys
N=int(input())
D=list(map(int,input().split()))
M=int(input())
T=list(map(int,input().split()))
D.sort()
T.sort()
for i in range(M-1,-1,-1):
  while True:
    q=D.pop()
    if T[i]==q:
      #print(i)
      break
    elif T[i]>q:
      #print(i,"NO")
      sys.exit()
print("YES")

Submission status: Runtime Error

Solution code:
inputs = input()
N = int(inputs)

inputs = input().split()

prob = {}
for i in inputs:
    if not int(i) in prob.keys():
        prob[int(i)] = 1
    else:
        prob[int(i)] += 1

inputs = input()
M = int(inputs)

inputs = input().split()
flag = True

for i in inputs:
    prob[int(i)] -= 1
    if prob[int(i)] < 0:
        flag = False

if flag:
    print('YES')
else:
    print('NO')

Submission status: Runtime Error

Solution code:
def solve():
    while 1:
        N = int(input())
        D = list(map(int, input(" ")))
        M = int(input())
        T = list(map(int, input(" ")))

        for t in T:
            if t not in D:
                print("NO")
                break

        print("YES")
        break


solve()

Submission status: Runtime Error

Solution code:
def solve():
    while 1:
        N = int(input())
        D = list(map(int, input(" ")))
        M = int(input())
        if N < M:
            print("NO")
            break   
        T = list(map(int, input(" ")))
        
        for t in T:
            if t not in D:
                print("NO")
                break
        
        print("YES")
        break


solve()

Submission status: Runtime Error

Solution code:
n = int(input())
a = sorted(list(map(int, input().split())))
m = int(input())
b = sorted(list(map(int, input().split())))
i = 0
for x in b:
    while i < n and a[i] < x:
        i += 1
    if i < n and a[i] == x:
        i += 1
    else:
        print('NO')
        exit(0)
print('YES')
satja@satja:~/k