| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1362733 | FZ_Laabidi | Carnival (EGOI23_carnival) | C++20 | 52 ms | 7012 KiB |
#include <bits/stdc++.h>
using namespace std;
signed main(){
int n; cin >> n;
vector<vector<int>> posi(n, vector<int>(n, -1));
vector<vector<int>> p(n-1);
for(int i=0; i<n-1; i++){
for(int j=0; j<i+1; j++){
int x; cin >> x;
p[i].push_back(x);
posi[p[i][j]][i+1]= j;
}
}
vector<int> perm;
perm.push_back(0);
for(int i=1; i<n; i++){
int k = 0;
if(posi[perm.back()][i]<(i+1)/2){
perm.push_back(i);
continue;
}
if(posi[perm[0]][i]<(i+1)/2){
int next= perm[i-1];
for(int j = i-1; j>-1; j--){
perm[j+1]= perm[j];
}
perm.push_back(next);
perm[0]= i;
continue;
}
for(int j = 1; j < i-1; j++){
if(posi[perm[j]][i]<(i+1)/2&&posi[perm[j+1]][i]<(i+1)/2)k = j+1;
}
int next = perm[i-1];
for(int j = i-1; j>k-1; j--)perm[j+1]= perm[j];
perm.push_back(next);
perm[k]= i;
}
for(auto it: perm)cout << it << " ";
}| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
