Submission #739048

#TimeUsernameProblemLanguageResultExecution timeMemory
739048ToxtaqStone Arranging 2 (JOI23_ho_t1)C++17
60 / 100
104 ms4336 KiB
#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int>v(n); if(n <= 2000){ for(int i = 0;i < n;++i){ cin >> v[i]; int pos = -1; for(int j = i - 1;j >= 0;--j){ if(v[i] == v[j]){ pos = j; break; } } if(pos == -1)continue; for(int j = pos;j < i;++j){ v[j] = v[i]; } } for(int i : v)cout << i << '\n'; return 0; } 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...