Submission #739047

#TimeUsernameProblemLanguageResultExecution timeMemory
739047ToxtaqStone Arranging 2 (JOI23_ho_t1)C++17
35 / 100
58 ms2536 KiB
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin >> n;
    vector<int>v(n);
    stack<int>ones, twos;
    for(int i = 0;i < n;++i){
        cin >> v[i];
        if(v[i] == 1){
            while(twos.size() && ones.size() && twos.top() > ones.top()){
                v[twos.top()] = 1;
                twos.pop();
            }
            ones.push(i);
        }
        else{
            while(ones.size() && twos.size() && ones.top() > twos.top()){
                v[ones.top()] = 2;
                ones.pop();
            }
            twos.push(i);
        }
    }
    for(int i : v)cout << i << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...