рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!
рдЫрд╣ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдХреИрд╕реЗ рдУ (рд▓реЙрдЧ (рдПрди)) рдореЗрдВ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреЗрдбрд╝ рд╕реЗ рдПрдХ рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЬрд╡рд╛рдм рдмрд╣реБрдд рдЬрд▓реНрджреА рдЖрдпрд╛ - рдЖрд▓рд╕реА рдкреНрд░рдЪрд╛рд░ред рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛ред рдЕрдм рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рд╕реНрдирд╛рддрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреБрдЫ рднреА рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ рд╣реИред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреИрд╕реЗ рдмреИрда рдЧрдпрд╛
рдХреБрдЫ рдиреЛрдЯ:- рдкреЗрдбрд╝ рд╕рдВрддреБрд▓рд┐рдд рдирд╣реАрдВ рд╣реИ (рдЕрдм рддрдХ, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдкреНрд▓реЛрдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрднреА рднреА рд▓рд┐рдЦрдирд╛ рд╣реИ), рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЕрдиреБрдорд╛рди рд╣реЗ (рд▓реЙрдЧ (рдПрди)) рд╣рд░ рдЬрдЧрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╢реЛрдзрди рд╣реИред
- рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдирд╣реАрдВ рдорд┐рд▓реА, рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдФрд░ рджреЛрд╕реНрддреЛрдВ, рдЬрд┐рдирд╕реЗ рдореИрдВрдиреЗ рдкреВрдЫрд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рднреА рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдХреА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХреАред рдпрджрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
- рд╡рд░реНрдЯреЗрдХреНрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ, рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рддрд░реАрдХреЛрдВ рд╕реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдиреЗ рд╕реЗ рдХреЛрдИ рджреВрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╡рд┐рд╡рд░рдгрдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЯреЗрдХреНрд╕ рдХреЛ рдЙрди рд╡рд░реНрдЯрд┐рдХрд▓ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ рдЬреЛ рдЗрд╕рдХреЗ рдмрд╛рдпреАрдВ рдУрд░ рд╣реИрдВ, рдЖрдЗрдП рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╡рд░реНрдЯрд┐рдХрд▓ рдХрд╛рдЙрдВрдЯрд▓ рдХреЗ рдмрд╛рдж рдХреЙрд▓ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдлрд┐рд░, рдЕрдЧрд░ рд╣рдо рдкреЗрдбрд╝ рдореЗрдВ рд╕рдмрд╕реЗ рдмрд╛рдПрдВ рддрддреНрд╡ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рд╡рд░реНрдЯрд┐рдХрд▓ рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рд░реВрдЯ рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдУрд╣, рдпрд╣ рд╡рд╛рдХреНрдп), рдПрдХ рдмрд╛рдЗрдирд░реА рдЯреНрд░реА рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рдлрд┐рдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЯреЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдб рдлрд╝реАрд▓реНрдб рджрд░реНрдЬ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд╕реНрдЯреЛрд░ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕рдмрдЯреНрд░реЗрдХреНрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЯрд┐рдХрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд▓реАрдпрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХрд┐рддрдирд╛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╡рд░реНрдЯреЗрдХреНрд╕ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреЗрдбрд╝ рдореЗрдВ рд╕рдмрд╕реЗ рдмрд╛рдПрдВ рддрддреНрд╡ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- рдкреВрд░реЗ рдкрде рдХреЗ рд╕рд╛рде рдмрд╛рдж рдореЗрдВ рдмрдврд╝реЗрдВ рдЬреЛ рд╣рдо рдирдП рд╢реАрд░реНрд╖ рдХреЗ рд╕рдореНрдорд┐рд▓рди рдмрд┐рдВрджреБ рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ
- рдКрдкрд░ рдХреЗ рджрд╛рдИрдВ рдУрд░ рдПрдХ-рдПрдХ рдХреЛрдиреЗ рдореЗрдВ, 1 рд╕реЗ рдЬреЛрдбрд╝ рдмрдврд╝рд╛рдПрдБ
рдЕрдм рдкреБрд╢ () рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рдЬреЛ рдХрд┐ рд╡рд░реНрдЯрд┐рдХрд▓ рдХреЗ рдмрд╛рдж рдФрд░ рдЙрд╕рдХреЗ рджреЛрдиреЛрдВ рд╡рдВрд╢реЛрдВ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╢реАрд░реНрд╖ рд╡рд░реНрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдпрд╛:public class UNode { UNode parent; int key; int countLefter; int add; UNode left; UNode right; public UNode() { } public UNode(UNode parent, int key, int countLefter, int add, UNode left, UNode right) { this.parent = parent; this.key = key; this.countLefter = countLefter; this.add = add; this.left = left; this.right = right; } public void push() { countLefter += add; if (left != null) left.add += add; if (right != null) right.add += add; add = 0; } @Override public String toString() { return "Node{" + "key=" + key + ", countLefter=" + countLefter + '}'; } }
рдорд╣рд╛рди, рдЕрдм рдЖрдк
рдПрдХ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
!рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ, рд╢реАрд░реНрд╖ рдкрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ - рд╣рдо рдкреБрд╢ () рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВред
рд╣рдо рддрддреНрд╡ рдХреЛ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛рдПрдВрдЧреЗ (рд╣рдо рд╣рдЯрд╛рдП рдЧрдП рдПрдХ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рд▓рдВрдмрд╡рдд рдХреЛ рдЙрдард╛рддреЗ рд╣реИрдВ)ред
рдЗрдВрдбреЗрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдПрдХ рддрддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ: рдпрджрд┐ рдЗрдВрдбреЗрдХреНрд╕ <рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рдж, рдмрд╛рдПрдВ рдЬрд╛рдПрдВред рдпрджрд┐ рдорд╛рди рд╕рдорд╛рди рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рджрд┐рдП рдЧрдП рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╢реАрд░реНрд╖ рдорд┐рд▓рд╛ред рдЕрдиреНрдпрдерд╛, рд╣рдо рд╕рд╣реА рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред
рддрддреНрд╡ рдХреЛ рд╣рдЯрд╛рдирд╛ рдФрд░ рдЬреЛрдбрд╝рдирд╛, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдирд┐рдпрдорд┐рдд рдмрд╛рдЗрдирд░реА рдЯреНрд░реА рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдЧрд┐рдирддреА рдмрджрд▓рдиреЗ рдФрд░ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ред рдпрджрд┐ рд╣рдо рд╕рдлрд▓ рдЬреЛрдбрд╝ / рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдмрд╛рдИрдВ рдУрд░ рд╢реАрд░реНрд╖ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ, рддреЛ рдЗрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рджрд╛рдИрдВ рдУрд░, рдирд╣реАрдВред
рдпрд╣рд╛рдБ рдкреЗрдбрд╝ рдХреЛрдб рд╣реИ: import java.util.LinkedList; public class UTree { private UNode root; private int size; public UTree() { } public int size() { return size; } public int get(int index) { return get(index, root); } public boolean add(int key) { if (root == null) { root = new UNode(null, key, 0, 0, null, null); size++; return true; } boolean res = add(key, root); if (res) size++; return res; } public boolean remove(int key) { if (root == null) return false; if (key == this.root.key) { root.push(); removeRoot(); size--; return true; } boolean res = remove(key, root); if (res) size--; return res; } private int get(int index, UNode root) { root.push(); if (index == root.countLefter) return root.key; if (index < root.countLefter) return get(index, root.left); return get(index, root.right); } private boolean add(int key, UNode root) { if (key == root.key) return false; root.push(); if (key < root.key) if (root.left != null) { boolean res = add(key, root.left); if (res) { root.countLefter++; if (root.right != null) root.right.add++; } return res; } else { root.left = new UNode(root, key, root.countLefter, 0, null, null); root.countLefter++; if (root.right != null) root.right.add++; return true; } if (root.right != null) return add(key, root.right); else { root.right = new UNode(root, key, root.countLefter + 1, 0, null, null); return true; } } public boolean removeByIndex(int index) { if(this.root == null) return false; root.push(); if (index == this.root.countLefter) { removeRoot(); return true; } boolean res = removeByIndex(index, root); if (res) size--; return res; } private boolean removeByIndex(int index, UNode root) { if (root == null) return false; root.push(); if (index == root.countLefter) return removeNode(root); if (index < root.countLefter) { boolean res = removeByIndex(index, root.left); if (res) { root.countLefter--; if (root.right != null) root.right.add--; } return res; } else return removeByIndex(index, root.right); } private boolean removeNode(UNode root) { if (root.left == root.right) { if (root.parent.left == root) root.parent.left = null; else root.parent.right = null; return true; } if (root.left == null) { if (root.parent.left == root) { root.parent.left = root.right; root.right.add--; } else { root.parent.right = root.right; root.right.add--; } root.right.parent = root.parent; return true; } if (root.right == null) { if (root.parent.left == root) root.parent.left = root.left; else root.parent.right = root.left; root.left.parent = root.parent; return true; } UNode right = getRight(root.left); cut(right); root.key = right.key; root.countLefter--; root.right.add--; return true; } private boolean remove(int key, UNode root) { if (root == null) return false; root.push(); if (key == root.key) return removeNode(root); if (key < root.key) { boolean res = remove(key, root.left); if (res) { root.countLefter--; if (root.right != null) root.right.add--; } return res; } else return remove(key, root.right); } private void removeRoot() { if (root.left == root.right) { root = null; return; } if (root.left == null) { root = root.right; root.add--; return; } if (root.right == null) { root = root.left; return; } UNode right = getRight(root.left); cut(right); root.key = right.key; root.countLefter--; root.right.add--; } private static void cut(UNode node) { if (node.parent.left == node) node.parent.left = node.left; else node.parent.right = node.left; if (node.left != null) node.left.parent = node.parent; } private UNode getRight(UNode root) { root.push(); if (root.right == null) return root; return getRight(root.right); } public void printTree() { printTree(root); } private void printTree(UNode root) { if (root == null) return; root.push(); printTree(root.left); System.out.println(root); printTree(root.right); } public LinkedList<UNode> getAll(){ LinkedList<UNode> res = new LinkedList<>(); getAll(root, res); return res; } private void getAll(UNode root, LinkedList<UNode> res){ if (root == null) return; root.push(); getAll(root.left, res); res.add(root); getAll(root.right, res); } }
тЖТ
рдпрд╣рд╛рдБ рдХреЛрдб рдЬреАрдердм рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рдХрд╛рдо рдХреА рдЧрддрд┐ рдХреЗ рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рджреВрдВрдЧрд╛ред рдкрд░реАрдХреНрд╖рдг рдкрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
рдкреЗрдбрд╝ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛:рддреЛ, рд╕реАрдорд╛ рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ [0; 1_000)
рд▓рдЧрднрдЧ 100 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд▓рдЧрднрдЧ 130 рдПрдордПрд╕ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рд╕реАрдорд╛ рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ [0; 10_000):
рд▓рдЧрднрдЧ 150 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд▓рдЧрднрдЧ 190 рдПрдордПрд╕ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рд╕реАрдорд╛ рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ [0; 100_000):
рд▓рдЧрднрдЧ 320 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд▓рдЧрднрдЧ 415 рдПрдордПрд╕ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рд╕реАрдорд╛ рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ [0; 1_000_000):
рд▓рдЧрднрдЧ 510 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рд▓рдЧрднрдЧ 700 рдПрдордПрд╕ рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рд╕реАрдорд╛ рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ [0; 10_000_000):
рд▓рдЧрднрдЧ 590 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд▓рдЧрднрдЧ 750 рдПрдордПрд╕ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рдЕрдм рдирд┐рдХрд╛рд▓рдирд╛рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдкреЗрдбрд╝ рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝реЗрдВред рдлрд┐рд░ рд╣рдо рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдПрдХ рд▓рд╛рдЦ рдмрд╛рд░ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕рдордп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреА рд╕реАрдорд╛ [0; 10_000_000):
рд▓рдЧрднрдЧ 740 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд▓рдЧрднрдЧ 750 рдПрдордПрд╕ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреА рд╕реАрдорд╛ [0; 1_000_000):
рд▓рдЧрднрдЧ 600 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд▓рдЧрднрдЧ 800 рдПрдордПрд╕ (рдкрд┐рдЫрд▓реЗ рдкрд░реАрдХреНрд╖рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ) рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреА рд╕реАрдорд╛ [0; 100_000):
рд▓рдЧрднрдЧ 130 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд▓рдЧрднрдЧ 160 рдПрдордПрд╕ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреА рд╕реАрдорд╛ [0; 10_000):
рд▓рдЧрднрдЧ 45 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рд▓рдЧрднрдЧ 50 рдПрдордПрд╕ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреА рд╕реАрдорд╛ [0; 1_000)
рд▓рдЧрднрдЧ 30 рдорд┐ред рдЯреНрд░реАрд╕реЗрдЯ рдиреЗ рд▓рдЧрднрдЧ 37 рдПрдордПрд╕ рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред
рдЦреИрд░, рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдВрдЪрдЯреНрд░реАрд╕реЗрдЯ рдореЗрдВ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рдореИрдВ рдкрд░рд┐рдгрд╛рдо рдХреЗрд╡рд▓ рдпреВрдЯреНрд░реА рдХреЗ рд▓рд┐рдП рджреВрдВрдЧрд╛ред рдлрд┐рд░ рд╕реЗ рд╣рдо рдПрдХ рд▓рд╛рдЦ рддрддреНрд╡ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рдкреЗрдбрд╝ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ 0 рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдБрдЪ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреЛрдбрд╝ рд░реЗрдВрдЬ [0; 1000): 85 рдПрдордПрд╕
рдЬреЛрдбрд╝ рд░реЗрдВрдЬ [0; 10_000): 140 рдПрдордПрд╕
рдЬреЛрдбрд╝ рд░реЗрдВрдЬ [0; 100_000): 300 рдПрдордПрд╕
рдЬреЛрдбрд╝ рд░реЗрдВрдЬ [0; 1_000_000): 655 рдПрдордПрд╕
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдЙрдкрдпреЛрдЧреА рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрд╡рд╕рд░ рд╣реЛрдЧрд╛ рдмрд╛рдЗрдирд░реА рдкреЗрдбрд╝реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ рдЖрдкрдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ :)
рдкреБрдирд╢реНрдЪрдореЗрд░реА рдпреЛрдЬрдирд╛ рдирдП рд╕рд╛рд▓ рдХреЗ рдмрд╛рдж рдкреЗрдбрд╝ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рд╣реИред рдпрджрд┐ рдореИрдВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рд▓рд┐рдВрдХ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред