#include<bits/stdc++.h>
using namespace std;
void place_l(vector < int > &ord, int x){
vector < int > cur;
for(int i : ord){
if(i == x)continue;
if(i == 0)cur.push_back(x);
cur.push_back(i);
}
ord = cur;
}
void place_r(vector < int > &ord, int x){
vector < int > cur;
for(int i : ord){
if(i == x)continue;
cur.push_back(i);
if(i == 0)cur.push_back(x);
}
ord = cur;
}
int get(vector < int > ord, int x){
for(int i = 0; i < ord.size(); i++){
if(ord[i] == x)
return i;
}
return 1e9;
}
int main(){
int n, q;
cin >> n >> q;
int cnt = 0;
vector < int > ord = {0};
for(int _ = 0; _ < q; _++){
int x;
cin >> x;
if(x > 0){
int id1 = get(ord, x);
cout << _ << "-> " << id1 << endl;
for(auto i : ord)cout << i << ' ';cout << endl;
while(id1 < ord.size() - 1)swap(ord[id1], ord[id1 + 1]), id1++;
for(auto i : ord)cout << i << ' ';cout << endl;
int id2 = get(ord, 0);
cnt += id2 > id1;
place_l(ord, x);
}
else {
x = abs(x);
place_r(ord, x);
}
// for(auto i : ord)
// cout << i << ' ';
// cout << endl;
}
cout << cnt << "\n";
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |