示例#1
0
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;
}