fork download
  1. import sys
  2.  
  3. N, M = map(int, sys.stdin.readline().split())
  4.  
  5. lis =[]
  6. for i in range(N):
  7. lis.append(sys.stdin.readline())
  8.  
  9. lis.sort()
  10.  
  11. ans = 0
  12. ans_list = []
  13. for i in range(M):
  14. tmp = sys.stdin.readline()
  15.  
  16. start, end = 0, len(lis)-1
  17.  
  18. while start <= end:
  19. mid = (start + end) // 2
  20. if lis[mid] == tmp:
  21. ans += 1
  22. ans_list.append(tmp)
  23. break
  24. print(mid, tmp, lis[mid], lis)
  25. if lis[mid] > tmp:
  26. start = mid + 1
  27. else:
  28. end = mid - 1
  29.  
  30. print(ans)
  31. ans_list.sort()
  32. for a in ans_list:
  33. print(a.rstrip())
Success #stdin #stdout 0.03s 9292KB
stdin
3 4
ohhenrie
charlie
baesangwook
obama
baesangwook
ohhenrie
clinton
stdout
1 obama
 charlie
 ['baesangwook\n', 'charlie\n', 'ohhenrie\n']
0 obama
 baesangwook
 ['baesangwook\n', 'charlie\n', 'ohhenrie\n']
1 baesangwook
 charlie
 ['baesangwook\n', 'charlie\n', 'ohhenrie\n']
2 baesangwook
 ohhenrie
 ['baesangwook\n', 'charlie\n', 'ohhenrie\n']
1 ohhenrie
 charlie
 ['baesangwook\n', 'charlie\n', 'ohhenrie\n']
0 ohhenrie
 baesangwook
 ['baesangwook\n', 'charlie\n', 'ohhenrie\n']
1 clinton charlie
 ['baesangwook\n', 'charlie\n', 'ohhenrie\n']
0 clinton baesangwook
 ['baesangwook\n', 'charlie\n', 'ohhenrie\n']
0