int main() { size_t elementsNumber = 0; cin >> elementsNumber; if ( elementsNumber == 0 ) { return 1; } BinaryTree binaryTree; Treap treap; for ( size_t i = 0; i < elementsNumber; ++i ) { int k = 0; int p = 0; cin >> k >> p; binaryTree.Add( k ); treap.Add( k, p ); } const int result = (int)treap.GetWidestLayer() - (int)binaryTree.GetWidestLayer(); cout << result; return 0; }