Submission #1322940

#TimeUsernameProblemLanguageResultExecution timeMemory
1322940JohanInfinite Race (EGOI24_infiniterace2)C++20
0 / 100
1 ms332 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...