2 条题解

  • 0
    @ 2024-4-7 11:02:44
    #include<map>
    #include<utility>
    using namespace std;
    map<string,string>ma;
    pair<string,string>p;
    int main()
    {
        int m, n, a;
        string s,t,str;
        cin>>n>>m;
        while(n--)
        {
            cin>>s>>t;
            p.first = s;
            p.second = t;
            ma.insert(p);
        }
        while(m--)
        {
            cin>>a>>str;
            if(a==1)
            {
                if(ma.find(str)!=ma.end())
                {
                    cout<<ma[str];
                }
                else{
                    cout<<"NO";
                }
            }
            if(a==2)
            {
                if(str<=(ma.begin()->first))
                {
                    cout<<"NO";
                }
                else
                {
                    auto it = ma.lower_bound(str);
                    it--;
                    cout<<it->second;
                }
            }
            if(a==3)
            {
                if(str>=((--ma.end())->first))
                {
                    cout<<"NO";
                }
                else
                {
                    auto it = ma.upper_bound(str);
                    cout<<it->second;
                }
            }
            cout<<endl;
        }
    }
    

    信息

    ID
    68
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    561
    已通过
    105
    上传者