[Solved] How can I still optimize the code?


You can slightly improve your code by removing queue, you don’t need this.
The rest of the code looks algorithmically optimal.

#include <map>
#include <iostream>

using namespace std;

int main()
{
    int a,b;

    map<int, int> AB;
    map<int, int>::iterator it;

    std::ios::sync_with_stdio(false);

    while (1)
    {
        cin >> a;
        if (a == -1)break;
        cin >> b;
        AB.insert(pair<int, int>(a, b));
    }

    while (1)
    {
        cin >> a;

        if (a == -1) {
            cout << -1;
            return 0;
        }

        it = AB.find(a);
        if (it == AB.end())
            cout << 0 << " ";
        else
            cout << it->second << " ";
    }

    return 0;
}

8

solved How can I still optimize the code?