Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- d = dict()
- dict1 = dict()
- dict2 = dict()
- for i in range(26):
- d[chr(97 + i)] = i
- dict1[chr(97 + i)] = 0
- dict2[chr(97 + i)] = 0
- name1 = list(input())
- name2 = list(input())
- for i in name1:
- dict1[i] += 1
- for i in name2:
- dict2[i] += 1
- i1 = 0
- i2 = 0
- a = []
- while i1 < len(name1) and i2 < len(name2):
- if dict2[name1[i1]] == 0:
- i1 += 1
- continue
- if dict1[name2[i2]] == 0:
- i2 += 1
- continue
- if name1[i1] == name2[i2]:
- while len(a) != 0 and d[name1[i1]] > d[a[-1]]:
- a.pop()
- a.append(name1[i1])
- dict1[name1[i1]], dict2[name2[i2]] = dict1[name1[i1]] - 1, dict2[name2[i2]] - 1
- i1, i2 = i1 + 1, i2 + 1
- elif d[name1[i1]] > d[name2[i2]]:
- dict2[name2[i2]] -= 1
- i2 += 1
- else:
- dict1[name1[i1]] -= 1
- i1 += 1
- while i2 >= len(name2) and name2[i2-1] != name1[i1-1] and i1 < len(name1):
- i1 += 1
- if name2[i2-1] == name1[i1-1]:
- while len(a) != 0 and d[name1[i1]] > d[a[-1]]:
- a.pop()
- a.append(name1[i1])
- while i1 >= len(name1) and name2[i2-1] != name1[i1-1] and i2 < len(name2):
- i2 += 1
- if name2[i2-1] == name1[i1-1]:
- while len(a) != 0 and d[name2[i2]] > d[a[-1]]:
- a.pop()
- a.append(name1[i2])
- print(''.join(a))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement