Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- BattleDev November 26, 2020
- Question 4
- Wrong way.
- See better way in https://pastebin.com/riarp6VG
- """
- import sys
- def main() -> None:
- n, m = map(int, input().split())
- xs = tuple(map(int, input().split()))
- # print(xs, file=sys.stderr)
- assert len(xs) == n
- lrs = []
- for line in sys.stdin:
- l, r = map(int, line.split())
- lrs.append((l, r))
- assert len(lrs) == m
- # print(lrs, file=sys.stderr)
- dlrs = dict()
- for l, r in lrs:
- if l not in dlrs:
- dlrs[l] = []
- dlrs[l].append(r)
- for rs in dlrs.values():
- rs.sort()
- # print(dlrs, file=sys.stderr)
- d = {i: 0 for i in range(256)}
- for l, rs in dlrs.items():
- x = 0
- i = l
- for r in rs:
- # while (i <= r) and (x < 255): # probably the good way, but WTF somewhere
- while i <= r: # correct but not enough efficient
- x ^= xs[i]
- i += 1
- d[x] += 1
- print(' '.join(str(nb) for nb in d.values()))
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement