제출 #1271202

#제출 시각아이디문제언어결과실행 시간메모리
1271202mkkkkkkkkStone Arranging 2 (JOI23_ho_t1)C++20
100 / 100
461 ms33668 KiB
#include <bits/stdc++.h>
using namespace std;


#include <bits/extc++.h>

using namespace __gnu_pbds;

typedef tree<vector<int>,null_type,less<vector<int>>,rb_tree_tag,tree_order_statistics_node_update>
ost;

map<int,bool> mapa;

int main()
{
    int n;
    cin>>n;
    ost tree;
    for(int i=0;i<n;i++)
    {
        int x;
        cin>>x;
        if(mapa[x]==false)
        {
            tree.insert({i,x,1});
        }
        else
        {
            int cnt=1;
            for(;;)
            {
                vector<int> vec=*tree.find_by_order(tree.size()-1);
                tree.erase(vec);
                cnt+=vec[2];
                mapa[vec[1]]=false;
                if(vec[1]==x)
                    break;
            }
            tree.insert({i,x,cnt});
        }

        mapa[x]=true;


    }
    while(tree.size()>0)
    {
        vector<int> vec=*tree.find_by_order(0);
        for(int i=0;i<vec[2];i++)
        {
            cout<<vec[1]<<endl;
        }
        tree.erase(vec);
    }


}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...