Problem:


Score : 200 points

Problem Statement

An X-layered kagami mochi (X ≥ 1) is a pile of X round mochi (rice cake) stacked vertically where each mochi (except the bottom one) has a smaller diameter than that of the mochi directly below it. For example, if you stack three mochi with diameters of 10, 8 and 6 centimeters from bottom to top in this order, you have a 3-layered kagami mochi; if you put just one mochi, you have a 1-layered kagami mochi.

Lunlun the dachshund has N round mochi, and the diameter of the i-th mochi is d_i centimeters. When we make a kagami mochi using some or all of them, at most how many layers can our kagami mochi have?

Constraints

1 ≤ N ≤ 100

1 ≤ d_i ≤ 100

All input values are integers.

Input

Input is given from Standard Input in the following format:

N
d_1
:
d_N

Output

Print the maximum number of layers in a kagami mochi that can be made.

Sample Input 1

4
10
8
8
6

Sample Output 1

3

If we stack the mochi with diameters of 10, 8 and 6 centimeters from bottom to top in this order, we have a 3-layered kagami mochi, which is the maximum number of layers.

Sample Input 2

3
15
15
15

Sample Output 2

1

When all the mochi have the same diameter, we can only have a 1-layered kagami mochi.

Sample Input 3

7
50
30
50
100
50
80
30

Sample Output 3

4



Sample input:
4
10
8
8
6


Sample output:
3

Submission status: Accepted

Solution code:
mycode = r'''
# distutils: language=c++
# cython: language_level=3
# cython: boundscheck=False
# cython: wraparound=False
# cython: infer_types=True
# cython: cdivision=True
# False:Cython はCの型に対する除算・剰余演算子に関する仕様を、(被演算子間の符号が異なる場合の振る舞いが異なる)Pythonのintの仕様に合わせ、除算する数が0の場合にZeroDivisionErrorを送出します。この処理を行わせると、速度に 35% ぐらいのペナルティが生じます。 True:チェックを行いません。

ctypedef long long LL

import numpy as np

# 読み込みはpython側で行う
import sys
readline = sys.stdin.buffer.readline
read = sys.stdin.readline #文字列読み込む時はこっち

cdef LL a_int(): return int(readline())

def ints(): return np.fromstring(readline(), sep=' ', dtype=np.int64)

cdef read_matrix(LL H,LL W):
    #return np.ndarray shape=(H,W) matrix
    lines=[]
    cdef LL _
    for _ in range(H): 
        lines.append(read())
    lines=' '.join(lines) #byte同士の結合ができないのでreadlineでなくreadで
    return np.fromstring(lines, sep=' ',dtype=np.int64).reshape(H,W)


N=a_int()
D=read_matrix(N,1)[:,0]
print(len(np.unique(D)))


'''

import sys
if sys.argv[-1] == 'ONLINE_JUDGE':  # コンパイル時
    import os
    with open('mycode.pyx', 'w') as f:
        f.write(mycode)
    os.system('cythonize -i -3 -b mycode.pyx')

import mycode

Submission status: Accepted

Solution code:
n = int(input())
a = sorted([input() for i in range(n)])
c = 1
for i in range(n - 1):
    if a[i] < a[i + 1]:
        c += 1
print(c)

Submission status: Accepted

Solution code:
N=int(input())
d=set()
for _ in range(N):
  d.add(int(input()))
print(len(d))

Submission status: Accepted

Solution code:
N = int(input())
moti_list = []
for i in range(N):
    moti_list.append(int(input()))

moti_list.sort(reverse=True)
tower = 1
for j in range(N - 1):
    if moti_list[j] > moti_list[j + 1]:
        tower += 1

print(tower)

Submission status: Accepted

Solution code:
N = int(input())
moti_list = [int(input()) for i in range(N)]

moti_list.sort(reverse=True)
tower = 1
for j in range(N - 1):
    if moti_list[j] > moti_list[j + 1]:
        tower += 1

print(tower)

Submission status: Accepted

Solution code:
N = int(input())
x = set()
for i in range(N):
  x.add(int(input()))
print(len(x))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for i in range(N)]
d = set(d)
print(len(d))

Submission status: Accepted

Solution code:
N, *d = map(int, open(0).read().split())

d.sort(reverse = True)
cnt = 0

pre = d[0]

for i in d:
    if cnt != 0 and pre == i:
        continue
    cnt += 1
    pre = i

print(cnt)

Submission status: Accepted

Solution code:
N = int(input())
ds = []
mochidan = 0
for i in range(N):
    ds.append(int(input()))

while ds:
    tmp = max(ds)
    ds = [j for j in ds if j < tmp]
    mochidan += 1

print(mochidan)

Submission status: Accepted

Solution code:
n=int(input())
k=[]
for i in range(n):
    d = int(input())
    k.append(d)
print(len(set(k)))

Submission status: Accepted

Solution code:
import sys

n = int(input())
d = [int(input()) for i in range(n)]

dan = len(list(set(d)))
print(dan)

Submission status: Accepted

Solution code:
n = int(input())
l = list([])
for i in range(n):
  l.append(int(input()))
  
s = set(l)
print(len(s))

Submission status: Accepted

Solution code:
N = int(input())

List = list(int(input()) for i in range(N))

print(len(set(List)))

Submission status: Accepted

Solution code:
N = int(input())

List = sorted(list(set(list(int(input()) for i in range(N)))))

print(len(List))

Submission status: Accepted

Solution code:
N = int(input())
d_list = []
Height = 0
for i in range(N):
    d_list.append(int(input()))
while d_list != []:
    MAX_Value = max(d_list)
    while MAX_Value == max(d_list):
        d_list.remove(MAX_Value)
        if d_list == [] :
            break
    Height +=1
print(Height)

Submission status: Accepted

Solution code:
n = int(input())
d = []

for i in range(n):
    d.append(int(input()))

print(len(set(d)))

Submission status: Accepted

Solution code:
#!/user/bin/env pypy3
import sys
from typing import List


def fast_input():
    return sys.stdin.readline()[:-1]


def solve(mochi_list: List[int]) -> int:
    sorted_mochi_list = sorted(mochi_list)
    kagamimochi = set(sorted_mochi_list)
    return len(kagamimochi)


def main():
    n = int(fast_input())
    d = []
    for i in range(n):
        d.append(int(fast_input()))
    result = solve(d)
    print(result)


main()

Submission status: Accepted

Solution code:
from sys import stdin
n = int(stdin.readline().rstrip())
a = [0]*n
for x in range(n):
   a[x] = int(stdin.readline().rstrip())

a.sort(reverse = True)

sum = 1

for x in range(n-1):
   if a[x] > a[x+1]:
      sum += 1
print(sum)

Submission status: Accepted

Solution code:
N = int(input())
d = set()
for i in range(N):
    a = int(input())
    d.add(a)
print(len(d))

Submission status: Accepted

Solution code:
n = int(input())
seen = set()
for _ in range(n):
    d = int(input())
    seen.add(d)

print(len(seen))

Submission status: Accepted

Solution code:
n,*d=map(int,open(0).read().split())
print(len(set(d)))

Submission status: Accepted

Solution code:
n = int(input())
print(len(set([int(input()) for i in range(n)])))

Submission status: Accepted

Solution code:
N = int(input())
num_list = []
for n in range(N):
  num = int(input())
  num_list.append(num)
ans = len(set(num_list))
print(ans)

Submission status: Accepted

Solution code:
N=int(input())
d=[int(input()) for _ in range(N)]
print(len(set(d)))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for _ in range(N)]
d.sort()

ans = N
for i in range(N-1):
  if d[i] == d[i+1]:
    ans -= 1
    
print(ans)

Submission status: Accepted

Solution code:
import sys

readline = sys.stdin.readline
MOD = 10 ** 9 + 7
INF = float('INF')
sys.setrecursionlimit(10 ** 5)


def main():
    N = int(readline())
    d = [int(readline()) for _ in range(N)]
    print(len(set(d)))


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
N=int(input())
d = [int(input()) for i in range(N)]

print(len(set(d)))

Submission status: Accepted

Solution code:
N = int(input())
D = sorted([int(input()) for _ in range(N)], reverse=True)
cnt = 1
for i in range(len(D)-1):
    if D[i] <= D[i+1]:
        pass
    else:
        cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
print(len(set(input()for _ in range(int(input())))))

Submission status: Accepted

Solution code:
n = int(input())
d = set(int(input()) for i in range(n))

print(len(d))

Submission status: Accepted

Solution code:
n = int(input())
d = [int(input()) for i in range(n)]

print(len(set(d)))

Submission status: Accepted

Solution code:
n=int(input())
d=[int(input()) for _ in range(n)]
print(len(set(d)))

Submission status: Accepted

Solution code:
n = int(input())
a = set()
for _ in range(n):
  a.add(int(input()))
print(len(a))

Submission status: Accepted

Solution code:
n=int(input())
print(len(set([int(input()) for x in range(n)])))

Submission status: Accepted

Solution code:
n = int(input())
print(len(set([int(input()) for x in range(n)])))

Submission status: Accepted

Solution code:
# vim: fileencoding=utf-8


def main():
    n = int(input())
    li = [0] * 102
    for i in range(n):
        d = int(input())
        li[d] = 1
    ans = 0
    for i in range(102):
        if li[i] == 1:
            ans += 1
    print(ans)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
# vim: fileencoding=utf-8


def main():
    n = int(input())
    li = []
    for i in range(n):
        li.append(int(input()))
    li.sort(reverse=True)
    ans = 1
    for i in range(1, n):
        if li[i - 1] > li[i]:
            ans += 1
    print(ans)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
N = int(input())
d = [0 for _ in range(N)]
for i in range(N):
    d[i] = int(input())

d = sorted(d)

cnt = 0
max = 0
for i in range(len(d)):
    if max < d[i]:
        max = d[i]
        cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
import sys
def I(): return int(sys.stdin.readline().rstrip())


N = I()
s = set()
for _ in range(N):
    s.add(I())

print(len(s))

Submission status: Accepted

Solution code:
print(len(set(open(0).read().split()[1:])))

Submission status: Accepted

Solution code:
n,*a=map(int,open(0).read().split());print(len(set(a)))

Submission status: Accepted

Solution code:
n = int(input())
D = [int(input()) for _ in range(n)]
D = list(set(D))
print(len(D))

Submission status: Accepted

Solution code:
import sys

input = sys.stdin.readline
N = int(input())
D = set()
for _ in range(N):
    D.add(int(input()))

print(len(D))

Submission status: Accepted

Solution code:
N, *D = map(int, open(0).read().split())

print(len(set(D)))

Submission status: Accepted

Solution code:
from collections import Counter

N, *D = map(int, open(0).read().split())

print(len(Counter(D).most_common()))

Submission status: Accepted

Solution code:
N=int(input())
d=[]
for i in range(N):
    d.append(int(input()))
d.sort()
d.reverse()
sum=1
iii=d[0]
for i in range(N):
    if iii>d[i]:
        sum+=1
        iii=d[i]
print(sum)

Submission status: Accepted

Solution code:
n=int(input())
d = []
for _ in range(n):
    d.append(int(input()))

d=sorted(d)

cnt=1
prev =d[0]
for i in range(n-1):
    if prev != d[i+1]:
        cnt+=1
        prev =d[i+1]
    
print(cnt)

Submission status: Accepted

Solution code:
n=int(input())
d=[int(input()) for _ in range(n)]
d.sort()
ans=1
for i in range(n-1):
    if d[i]<d[i+1]:
        ans+=1
print(ans)

Submission status: Accepted

Solution code:
n = int(input())
print(len(set([int(input()) for _ in range(n)])))

Submission status: Accepted

Solution code:
import sys
def input(): return sys.stdin.readline().strip()
def mapint(): return map(int, input().split())
sys.setrecursionlimit(10**9)

N = int(input())
Ds = [int(input()) for _ in range(N)]
print(len(set(Ds)))

Submission status: Accepted

Solution code:
from collections import Counter
N = int(input())
d = [int(input()) for i in range(N)]
d = Counter(d)
print(len(d))

Submission status: Accepted

Solution code:
from collections import Counter,defaultdict,deque
from heapq import heappop,heappush,heapify
import sys,bisect,math,itertools,fractions
sys.setrecursionlimit(10**8)
mod = 10**9+7
INF = float('inf')
def inp(): return int(sys.stdin.readline())
def inpl(): return list(map(int, sys.stdin.readline().split()))

n = inp()
a = [inp() for _ in range(n)]
print(len(set(a)))

Submission status: Accepted

Solution code:
def main():
    N = int(input())
    d = [int(input()) for _ in range(N)]
    d_set = set(d)
    ans = len(d_set)
    return ans

print(main())

Submission status: Accepted

Solution code:
N = int(input())
D = sorted([int(input()) for _ in range(N)])
cnt = 1
d = D[0]
for i in range(1,N):
    if D[i]>d:
        cnt += 1
        d = D[i]
print(cnt)

Submission status: Accepted

Solution code:
N = int(input())
D = [int(input()) for _ in range(N)]
print(len(set(D)))

Submission status: Accepted

Solution code:
from collections import Counter
n = int(input())
d = [int(input()) for _ in range(n)]

print(len(Counter(d)))

Submission status: Accepted

Solution code:
N = int(input())
D = [int(input()) for i in range(N)]
s = set(D)
print(len(s))

Submission status: Accepted

Solution code:
import sys

sys.setrecursionlimit(10**7)
def I(): return int(sys.stdin.readline().rstrip())
def MI(): return map(int,sys.stdin.readline().rstrip().split())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))  #空白あり
def LI2(): return list(map(int,sys.stdin.readline().rstrip()))  #空白なし
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip().split())  #空白あり
def LS2(): return list(sys.stdin.readline().rstrip())  #空白なし


N = I()
s = set()
for i in range(N):
    s.add(I())

print(len(s))

Submission status: Accepted

Solution code:
n = int(input())
S = {input() for _ in range(n)}
ans = len(S)
print(ans)

Submission status: Accepted

Solution code:
n = int(input())
ds = set()
for _ in range(n):
    ds.add(int(input()))

print(len(ds))

Submission status: Accepted

Solution code:
N = int(input())
S = set(int(input()) for _ in range(N))
print(len(S))

Submission status: Accepted

Solution code:
N = int(input())
num = [0 for _ in range(110)]

for i in range(N):
    d = int(input())
    num[d] = 1 # 複数個あっても 1 にしておく
print(sum(num))

Submission status: Accepted

Solution code:
n,*l=map(int,open(0).read().split())
print(len(set(l)))

Submission status: Accepted

Solution code:
N = input()
d = []
try :
  while True:
    a = input()
    if a :
      d.append(a)
    else :
      break
except EOFError:
  pass
c = 0
import copy
e = copy.copy(d)
for i in e :
  x = d.pop(0)
  if x not in d: 
    c += 1
print(c)

Submission status: Accepted

Solution code:
N = int(input())
D = {input() for _ in range(N)}
print(len(D))

Submission status: Accepted

Solution code:
# 2020-08-30, Sun

n = int(input())
print(len(set(map(int, [input() for i in range(n)]))))

Submission status: Accepted

Solution code:
# 2020-08-30, Sun

n = int(input())
a = []

for i in range(n):
    a.append(int(input()))

print(len(set(a)))

Submission status: Accepted

Solution code:
N = int(input())
dlst = [int(input()) for i in range(N)]
list.sort(dlst)
answer = 1
for i in range(1,N):
    if dlst[i] != dlst[i - 1]:
        answer += 1
print(answer)

Submission status: Accepted

Solution code:
n, *a = map(int, open(0).read().split())
print(len(set(a)))

Submission status: Accepted

Solution code:
import numpy as np

N = int(input())
d = [input() for x in range(N)]

print(len(np.unique(np.array(d))))

Submission status: Accepted

Solution code:
n = int(input())
c = set()
for i in range(n):
  c |= {int(input())}
print(len(c))

Submission status: Accepted

Solution code:
n = int(input())
a = []
for i in range(n):
  a.append(int(input()))
print(len(set(a)))

Submission status: Accepted

Solution code:
n=int(input()) 
l=[]

for i in range(n):
    a=int(input()) 
    l.append(a)

print(len(set(l)))

Submission status: Accepted

Solution code:
n=int(input())
a=[0]*n
for i in range(n):
    a[i] = int(input())

a_set=set(a)
print(len(a_set))

Submission status: Accepted

Solution code:
N=int(input())
a=set()
for i in range(N):
    a.add(input())
print(len(a))

Submission status: Accepted

Solution code:
n = int(input())
d = []
for _ in range(n):
    d.append(int(input()))
d.sort()
a = 1
for i in range(len(d) - 1):
    if d[i] < d[i + 1]:
        a += 1
print(a)

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
# 整数の入力
N = int(input())

data_list = []
for i in range(N):
  data_list.append(int(input()))

print(len(set(data_list)))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for _ in range(N)]

# 重複を除いた要素数を数えるために、setを使う以外にバケット法による方法がある
l = [0]*100
for i in range(N):
  l[d[i]-1] = 1
  
print(sum(l))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for _ in range(N)]

l = [0]*100
for i in range(N):
  l[d[i]-1] = 1
  
print(sum(l))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for _ in range(N)]

d = list(set(d))
print(len(d))

Submission status: Accepted

Solution code:
N = int(input())
S = set()
for n in range(N):
  S.add(int(input()))
print(len(S))

Submission status: Accepted

Solution code:
N = int(input())
List  = (int(input()) for i in range(N))

print(len(set(List)))

Submission status: Accepted

Solution code:
N=int(input())
D=[int(input()) for i in range(N)]
print(len(set(D)))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for i in range(N)]


print(len(set(d)))

Submission status: Accepted

Solution code:
def main():
    N = int(input())
    d = [int(input()) for _ in range(N)]

    d_s = list(set(d))
    print(len(d_s))


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
n = int(input())
print(len(set(int(input()) for _ in range(n))))

Submission status: Accepted

Solution code:
n=int(input())
A=[]
for i in range(n):
    A.append(int(input()))
A=set(A)
print(len(A))

Submission status: Accepted

Solution code:
n = int(input())
l = []

for i in range(n):
    l.append(input())

print(len(set(l)))

Submission status: Accepted

Solution code:
N = int(input())
S = []
for _ in range(N):
    S.append(input())
print(len(set(S)))

Submission status: Accepted

Solution code:
n=int(input())
a=set(int(input()) for i in range(n))
print(len(a))

Submission status: Accepted

Solution code:
n = int(input())
d = [int(input()) for i in range(n)]
print(len(set(d)))

Submission status: Accepted

Solution code:
# 085 B
N = int(input())
dd=[list(map(int,list(input()))) for i in range(N)]
d = sorted(dd)
c = 1
for i in range(N-1):
    if d[i] != d[i+1]:
        c += 1
print(c)

Submission status: Accepted

Solution code:
from collections import Counter

n = int(input())
d = (int(input()) for _ in range(n))
c = Counter(d)

print(len(c))

Submission status: Accepted

Solution code:
#coding=utf-8
i=int(input())
rrr=[]
for d in range(i):
    r=[int(input())]
    rrr+=r
s=len(set(rrr))
print(s)

Submission status: Accepted

Solution code:
N = int(input())
ans = set()
for i in range(N):
    n = int(input())
    ans.add(n)
print(len(ans))

Submission status: Accepted

Solution code:
n=int(input())
mochi = set()
for i in range(n):
    mochi.add(int(input()))
              
print(len(mochi))

Submission status: Accepted

Solution code:
n=int(input())
moti=[input() for i in range(n)]
moti.sort()
count=1
for i in range(n-1):
    if moti[i]!=moti[i+1]:
        count+=1
print(count)

Submission status: Accepted

Solution code:
N = int(input())
print(len(set([int(input()) for _ in range(N)])))

Submission status: Accepted

Solution code:
n = int(input())
lst = []
for i in range(n):
  lst.append(int(input()))

lst = set(lst)
print(len(lst))

Submission status: Accepted

Solution code:
N=int(input())
d=[0]*N
for i in range(N) :
  d[i]=int(input())
d.sort()
count=1
for i in range(1,N) :
  if d[i-1]!=d[i] :
    count+=1
print(count)

Submission status: Accepted

Solution code:
n = int(input())
d = []
for i in range(n):
    d.append(int(input()))
print(len(set(d)))

Submission status: Accepted

Solution code:
n = int(input())
d = []
for i in range(n):
    d.append(int(input()))
ans = list(set(d))
print(len(ans))

Submission status: Accepted

Solution code:
import sys
def input(): return sys.stdin.readline().strip()
def mapint(): return map(int, input().split())
sys.setrecursionlimit(10**9)

N = int(input())
s = set()
for _ in range(N):
    s.add(int(input()))

lis = list(s)
lis.sort()
print(len(lis))

Submission status: Accepted

Solution code:
n=int(input())
print(len({input() for _ in range(n)}))

Submission status: Accepted

Solution code:
N=int(input())
d=[]
for i in range(N):
    d.append(int(input()))
e=list(set(d))
print(len(e))

Submission status: Accepted

Solution code:
n = int(input())
l = [int(input()) for i in range(n)]
print(len(set(l)))

Submission status: Accepted

Solution code:
n = int(input())
x = [int(input()) for i in range(n)]
y = set(x)
print(len(y))

Submission status: Accepted

Solution code:
N = int(input())
A = [int(input()) for _ in range(N)]
A = set(A)
print(str(len(A)))

Submission status: Accepted

Solution code:
N = int(input())
D = sorted([int(input()) for _ in range(N)])
if len(D) > 1:
    i,prev = 0,None
    while i < (len(D)-1):
        if D[i] == D[i+1]: 
            D.pop(i+1)
        else:
            prev = D[i]
            i +=1
print(len(D))

Submission status: Accepted

Solution code:
n = int(input())
a = [int(input()) for i in range(n)]
b = set(a)
print(len(b))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for _ in range(N)]
print(len(set(d)))

Submission status: Accepted

Solution code:
n = int(input())
cake = [input() for i in range(n)]
print(len(set(cake)))

Submission status: Accepted

Solution code:
n = int(input())
cake = []
for i in range(n):
    cake.append(int(input()))
    
print(len(set(cake)))

Submission status: Accepted

Solution code:
n = int(input())
cake = []
for i in range(n):
    cake.append(int(input()))
    
cake.sort()
kagami = [cake[0]]
num = cake[0]
for i in cake:
    if i > num:
        kagami.append(i)
        num = i
print(len(kagami))

Submission status: Accepted

Solution code:
n = int(input())
print(len(set([input() for _ in range(n)])))

Submission status: Accepted

Solution code:
n = int(input())

d = [int(input()) for i in range(n)]

dset = set(d)

print(len(dset))

Submission status: Accepted

Solution code:
n = int(input())

d = [int(input()) for i in range(n)]

d.sort()
count=1
if n>1:
    for i in range(n-1):
        if d[i] < d[i+1]:
            count+=1
    
print(count)

Submission status: Accepted

Solution code:
from collections import defaultdict,deque
import math
def main():
    n = int(input())
    d = [int(input()) for i in range(n)]
    dd = defaultdict(int)
    for i in d:
        dd[i]+=1
    tmp = dd.keys()
    print(len(tmp))


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
I=input
N=int(I())
d=[I() for i in [0]*N]
print(len(list(set(d))))

Submission status: Accepted

Solution code:
n = int(input()) 
D = [int(input()) for _ in range(n)]
ans = len(set(D)) 
print(ans)

Submission status: Accepted

Solution code:
n = int(input())

d_i_list = [int(input()) for i in range(n)]

print(len(set(d_i_list)))

Submission status: Accepted

Solution code:
n = int(input())
d = [int(input()) for i in range(n)]
ds = set(d)
print(len(ds))

Submission status: Accepted

Solution code:
N = int(input())
print(len(set([int(input()) for _ in range(N)])))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for _ in range(N)]

print(len(set(d)))

Submission status: Accepted

Solution code:
N = int(input())
D = set([int(input()) for _ in range(N)])
print(len(D))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for i in range(N)]
print(len(set(d)))

Submission status: Accepted

Solution code:
N = int(input())
d = sorted([int(input()) for i in range(N)])
ans = 1
for i in range(N-1):
    if d[i] < d[i+1]:
        ans += 1
print(ans)

Submission status: Accepted

Solution code:
def resolve():
    n = int(input())
    dl = list()
    for i in range(n):
        d = int(input())
        dl.append(d)
    dl = sorted(dl, reverse=True)
    pre = 110
    ans = 0
    for d in dl:
        if d < pre:
            ans += 1
        pre = d
    print(ans)
resolve()

Submission status: Accepted

Solution code:
N = int(input())
ds = [int(input()) for i in range(N)]

dss = set(ds)
print(len(dss))

Submission status: Accepted

Solution code:
N = int(input())
ls = []
for i in range(N):
    d_i = int(input())
    if d_i not in ls:
        ls.append(d_i)
print(len(ls))

Submission status: Accepted

Solution code:
n = int(input())
d = set([int(input()) for _ in range(n)])
print(len(d))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for i in range(N)]
d = set(d)
print(len(d))

Submission status: Accepted

Solution code:
N = int(input())
d = list(int(input()) for _ in range(N))
print(len(set(sorted(d))))

Submission status: Accepted

Solution code:
N = int(input())
li = []
for i in range(N):
  A = int(input())
  if A not in li:
    li.append(A)
print(len(li))

Submission status: Accepted

Solution code:
n = int(input())
a = list(int(input()) for i in range(n))

a.sort()
count = 0

for i, j in enumerate(a):
    try:
        if j == a[i + 1]:
            a[i] = 0
            count += 1
        else:
            pass
    except IndexError:
        pass

print(n - count)

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for i in range(N)]

x = sorted(d, reverse=True)

ans = 1
for i in range(N-1):
    if x[i] - x[i+1] >0:
        ans += 1
    else:
        continue


print(ans)

Submission status: Accepted

Solution code:
n = int(input())
d = []
ans = 0
for i in range(n):
  d_ = int(input())
  if d_ not in d:
    d.append(d_)
    ans += 1
print(ans)

Submission status: Accepted

Solution code:
print(len(set([int(input()) for _ in range(int(input()))])))

Submission status: Accepted

Solution code:
n = int(input())
dic = {}
for i in range(n):
    d = int(input())
    dic.setdefault(d,0)
    dic[d] += 1
print(len(dic))

Submission status: Accepted

Solution code:
N = int(input())

li = set()

for i in range(N):
    li.add(int(input()))

print(len(li))

Submission status: Accepted

Solution code:
N = int(input())
D = []
for _ in range(N):
    D.append(int(input()))
print(len(set(D)))

Submission status: Accepted

Solution code:
def main():
	N = int(input())
	d = [0] * N

	for i in range(N):
		d[i] = int(input())

	num = [0] * 101

	for i in range(N):
		num[d[i]] += 1

	ans = 0

	for i in range(101):
		if num[i] > 0:
			ans += 1

	print(ans)

  
if __name__ == "__main__":
  	main()

Submission status: Accepted

Solution code:
def main():
	N = int(input())
	d = set()

	for _ in range(N):
		d.add(int(input()))

	print(len(d))



  
if __name__ == "__main__":
  	main()

Submission status: Accepted

Solution code:
N = int(input())
d = []
for i in range(N):
    d.append(int(input()))

d = set(sorted(d))

print(len(d))

Submission status: Accepted

Solution code:
mochikazu = int(input())
sizelist= [input() for i in range(mochikazu)]
print(len(set(sizelist)))

Submission status: Accepted

Solution code:

n = int(input())

d_list = []
for i in range(n):
    d_list.append(int(input()))

d_list = list(set(d_list))
# イメージのため 問題に回答する上でこの処理は不要
d_list = sorted(d_list, reverse = True)

ans = len(d_list)

print(ans)

Submission status: Accepted

Solution code:
n = int(input())
d = {int(input()) for i in range(n)}
d = list(d)
d.sort()
print(len(d))

Submission status: Accepted

Solution code:
#listが要素に持つ配列について、target_indexのインデックスの要素の出現回数をディクショナリに出力
def count(list, target_index = None):
    dict = {}
    if target_index == None:
        for i in range(len(list)):
            dict[list[i]] = dict.get(list[i], 0) + 1
    if target_index != None:
        for i in range(len(list)):
            dict[list[i][target_index]] = dict.get(list[i][target_index], 0) + 1
    return dict

#n回の整数入力を受け付け
def input_int_list(n):
    list = [0]*n
    for i in range(n):
        list[i] = int(input())
    return list

num = int(input())
discs = input_int_list(num)

print(str(len(count(discs))))

Submission status: Accepted

Solution code:
import collections

n = int(input())
d = [int(input()) for i in range(n)]

ans = collections.Counter(d)
print(len(ans))

Submission status: Accepted

Solution code:
n = int(input())
d = [int(input()) for i in range(n)]
print(len(list(set(d))))

Submission status: Accepted

Solution code:
n=int(input())
d=[int(input()) for i in range(n)]
print(len(set(d)))

Submission status: Accepted

Solution code:
n = int(input())
 
s = set()
for i in range(n):
  s.add(int(input()))
 
print(len(s))

Submission status: Accepted

Solution code:
N = int(input())
print(len(set(int(input()) for i in range(N))))

Submission status: Accepted

Solution code:
n=int(input())
print(len(set(input()for i in range(n))))

Submission status: Accepted

Solution code:
n=int(input())
lst=set(input() for i in range(n))
print(len(lst))

Submission status: Accepted

Solution code:
N=int(input())
d=[]
for i in range(N):
  d.append(int(input()))
print(len(list(set(d))))

Submission status: Accepted

Solution code:
n=int(input())
ans=set([])
for _ in range(n):
  ans.add(int(input()))
print(len(ans))

Submission status: Accepted

Solution code:
import math
N=int(input())
array = [0]*N
for i in range(N):
    array[i]=int(input())
array=sorted(array)
max=array[N-1]+1
bucket=[0]*(max+1)
for val in array:
    bucket[val]=bucket[val]+1
s=0
for i in range(max+1):
    if bucket[i]>0:
        s=s+1
print(s)

Submission status: Accepted

Solution code:
#k = int(input())
#s = input()
#a, b = map(int, input().split())
#s, t = map(str, input().split())
#l = list(map(int, input().split()))
#l = [list(map(int,input().split())) for i in range(n)]
#a = [list(input()) for _ in range(n)]
#a = [int(input()) for _ in range(n)]

n = int(input())
d = [int(input()) for _ in range(n)]

print(len(set(d)))

Submission status: Accepted

Solution code:
#k = int(input())
#s = input()
#a, b = map(int, input().split())
#s, t = map(str, input().split())
#l = list(map(int, input().split()))
#l = [list(map(int,input().split())) for i in range(n)]
#a = [list(input()) for _ in range(n)]
#a = [int(input()) for _ in range(n)]

n = int(input())
d = [int(input()) for _ in range(n)]

d.sort(reverse=True)

last = 101
ans = 0

for i in range(n):
    if last > d[i]:
        ans += 1
        last = d[i]

print(ans)

Submission status: Accepted

Solution code:
N = int(input())
d = []
for i in range(N):
  d.append(int(input()))
d.sort()
count = 1
for i in range(1,N):
  if d[i] > d[i - 1]:
    count += 1
print(count)

Submission status: Accepted

Solution code:
n = int(input())
 
m = set()
 
for i in range(n):
  x = int(input())
  m.add(x)
  
print(len(m))

Submission status: Accepted

Solution code:
N = int(input())
ls = []
for i in range(N):
    ls.append(int(input()))
print(len(set(ls)))

Submission status: Accepted

Solution code:
n=int(input())
d=[int(input())for i in range(n)]
num=[0 for i in range(max(d)+1)]
for i in d:
    num[i]+=1
ans=len(num)-num.count(0)
print(ans)

Submission status: Accepted

Solution code:
import sys
read=sys.stdin.read

n,*d=map(int,read().split())
d.sort()
print(sum(x<y for x,y in zip(d,d[1:]))+1)

Submission status: Accepted

Solution code:
n=int(input())
d=[int(input()) for i in range(n)]
d=set(d)
ans=len(d)
print(ans)

Submission status: Accepted

Solution code:
n = int(input())
list = []

for _ in range(n):
    list.append(int(input()))

print(len(set(list)))

Submission status: Accepted

Solution code:
# ABC 085 B - Kagami Mochi
N = int(input())

dn = [0] * N
for i in range(N):
    dn[i] = int(input())

j = N
for i in range(1,101):
    k = dn.count(i)
    if k >= 2:
        j = j - (k - 1)
print(j)

Submission status: Accepted

Solution code:
import sys

read = sys.stdin.read
readline = sys.stdin.buffer.readline
sys.setrecursionlimit(10 ** 8)
INF = float('inf')
MOD = 10 ** 9 + 7


def main():
    N = int(readline())
    A = list(int(readline()) for _ in range(N))
    print(len(set(A)))


if __name__ == '__main__':
    main()