#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int n, k;
vector<int> simulate(vector<int> v) {
vector<int> b(n+1, -1);
vector<int> inv(n+1, -1);
for(int i = 0;i<n;i++)inv[v[i]]=i+1;
for(int i = 0;i<n;i++) {
vector<int> er;
for(int j = 0;j<(int)v.size()-1;j++) {
if(v[j] < v[j+1]) {
er.push_back(j);
}
}
reverse(er.begin(), er.end());
if(er.size() == 0)break;
for(int j:er) {
b[inv[v[j]]] = i+1;
v.erase(v.begin()+j);
}
}
return b;
}
bool cmp(const vector<int> &A, const vector<int> &B) {
for(int i = 1;i<=n;i++) {
bool check=1;
for(int j = 1;j<i;j++) {
for(int x = 0;x<n;x++) {
if(A[x] == j and B[x] != j)check=false;
}
}
int y = 0, x = 0;
for(y = 0;y<n;y++) {
if(A[y] == i)break;
}
for(x = 0;x<n;x++) {
if(B[x] == i)break;
}
if(y >= x)check=false;
if(check)return 1;
}
return false;
}
int main () {
cin.tie(0)->sync_with_stdio(0);
cin >> n >> k;
vector<int> b(n+1, -1);
for(int i = 1;i<=n;i++)cin >> b[i];
vector<int> ans(n);
vector<vector<int>> res;
iota(ans.begin(), ans.end(), 1);
do {
vector<int> bb = simulate(ans);
if(bb == b){
res.push_back(ans);
}
}while(next_permutation(ans.begin(), ans.end()));
sort(res.begin(), res.end(), cmp);
if(res.size() >= k) {
for(int i:res[k-1])cout << i << " ";
cout << "\n";
}
else cout << "-1\n";
}
Compilation message
Main.cpp: In function 'int main()':
Main.cpp:60:17: warning: comparison of integer expressions of different signedness: 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
60 | if(res.size() >= k) {
| ~~~~~~~~~~~^~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
7 ms |
348 KB |
Output is correct |
2 |
Correct |
71 ms |
452 KB |
Output is correct |
3 |
Correct |
790 ms |
700 KB |
Output is correct |
4 |
Correct |
794 ms |
344 KB |
Output is correct |
5 |
Correct |
791 ms |
348 KB |
Output is correct |
6 |
Correct |
78 ms |
348 KB |
Output is correct |
7 |
Correct |
798 ms |
432 KB |
Output is correct |
8 |
Correct |
810 ms |
432 KB |
Output is correct |
9 |
Correct |
76 ms |
432 KB |
Output is correct |
10 |
Correct |
77 ms |
348 KB |
Output is correct |
11 |
Correct |
8 ms |
344 KB |
Output is correct |
12 |
Correct |
783 ms |
444 KB |
Output is correct |
13 |
Correct |
835 ms |
596 KB |
Output is correct |
14 |
Correct |
850 ms |
344 KB |
Output is correct |
15 |
Correct |
755 ms |
592 KB |
Output is correct |
16 |
Correct |
806 ms |
432 KB |
Output is correct |
17 |
Correct |
817 ms |
592 KB |
Output is correct |
18 |
Correct |
81 ms |
468 KB |
Output is correct |
19 |
Correct |
886 ms |
344 KB |
Output is correct |
20 |
Correct |
822 ms |
344 KB |
Output is correct |
21 |
Correct |
786 ms |
428 KB |
Output is correct |
22 |
Correct |
877 ms |
432 KB |
Output is correct |
23 |
Correct |
826 ms |
432 KB |
Output is correct |
24 |
Correct |
853 ms |
436 KB |
Output is correct |
25 |
Correct |
880 ms |
348 KB |
Output is correct |
26 |
Correct |
885 ms |
436 KB |
Output is correct |
27 |
Correct |
893 ms |
348 KB |
Output is correct |
28 |
Correct |
917 ms |
428 KB |
Output is correct |
29 |
Correct |
889 ms |
456 KB |
Output is correct |
30 |
Correct |
8 ms |
348 KB |
Output is correct |
31 |
Correct |
10 ms |
348 KB |
Output is correct |
32 |
Correct |
8 ms |
348 KB |
Output is correct |
33 |
Correct |
9 ms |
348 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
7 ms |
348 KB |
Output is correct |
2 |
Correct |
71 ms |
452 KB |
Output is correct |
3 |
Correct |
790 ms |
700 KB |
Output is correct |
4 |
Correct |
794 ms |
344 KB |
Output is correct |
5 |
Correct |
791 ms |
348 KB |
Output is correct |
6 |
Correct |
78 ms |
348 KB |
Output is correct |
7 |
Correct |
798 ms |
432 KB |
Output is correct |
8 |
Correct |
810 ms |
432 KB |
Output is correct |
9 |
Correct |
76 ms |
432 KB |
Output is correct |
10 |
Correct |
77 ms |
348 KB |
Output is correct |
11 |
Correct |
8 ms |
344 KB |
Output is correct |
12 |
Correct |
783 ms |
444 KB |
Output is correct |
13 |
Correct |
835 ms |
596 KB |
Output is correct |
14 |
Correct |
850 ms |
344 KB |
Output is correct |
15 |
Correct |
755 ms |
592 KB |
Output is correct |
16 |
Correct |
806 ms |
432 KB |
Output is correct |
17 |
Correct |
817 ms |
592 KB |
Output is correct |
18 |
Correct |
81 ms |
468 KB |
Output is correct |
19 |
Correct |
886 ms |
344 KB |
Output is correct |
20 |
Correct |
822 ms |
344 KB |
Output is correct |
21 |
Correct |
786 ms |
428 KB |
Output is correct |
22 |
Correct |
877 ms |
432 KB |
Output is correct |
23 |
Correct |
826 ms |
432 KB |
Output is correct |
24 |
Correct |
853 ms |
436 KB |
Output is correct |
25 |
Correct |
880 ms |
348 KB |
Output is correct |
26 |
Correct |
885 ms |
436 KB |
Output is correct |
27 |
Correct |
893 ms |
348 KB |
Output is correct |
28 |
Correct |
917 ms |
428 KB |
Output is correct |
29 |
Correct |
889 ms |
456 KB |
Output is correct |
30 |
Correct |
8 ms |
348 KB |
Output is correct |
31 |
Correct |
10 ms |
348 KB |
Output is correct |
32 |
Correct |
8 ms |
348 KB |
Output is correct |
33 |
Correct |
9 ms |
348 KB |
Output is correct |
34 |
Execution timed out |
2053 ms |
348 KB |
Time limit exceeded |
35 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2029 ms |
1996 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
2029 ms |
1996 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
7 ms |
348 KB |
Output is correct |
2 |
Correct |
71 ms |
452 KB |
Output is correct |
3 |
Correct |
790 ms |
700 KB |
Output is correct |
4 |
Correct |
794 ms |
344 KB |
Output is correct |
5 |
Correct |
791 ms |
348 KB |
Output is correct |
6 |
Correct |
78 ms |
348 KB |
Output is correct |
7 |
Correct |
798 ms |
432 KB |
Output is correct |
8 |
Correct |
810 ms |
432 KB |
Output is correct |
9 |
Correct |
76 ms |
432 KB |
Output is correct |
10 |
Correct |
77 ms |
348 KB |
Output is correct |
11 |
Correct |
8 ms |
344 KB |
Output is correct |
12 |
Correct |
783 ms |
444 KB |
Output is correct |
13 |
Correct |
835 ms |
596 KB |
Output is correct |
14 |
Correct |
850 ms |
344 KB |
Output is correct |
15 |
Correct |
755 ms |
592 KB |
Output is correct |
16 |
Correct |
806 ms |
432 KB |
Output is correct |
17 |
Correct |
817 ms |
592 KB |
Output is correct |
18 |
Correct |
81 ms |
468 KB |
Output is correct |
19 |
Correct |
886 ms |
344 KB |
Output is correct |
20 |
Correct |
822 ms |
344 KB |
Output is correct |
21 |
Correct |
786 ms |
428 KB |
Output is correct |
22 |
Correct |
877 ms |
432 KB |
Output is correct |
23 |
Correct |
826 ms |
432 KB |
Output is correct |
24 |
Correct |
853 ms |
436 KB |
Output is correct |
25 |
Correct |
880 ms |
348 KB |
Output is correct |
26 |
Correct |
885 ms |
436 KB |
Output is correct |
27 |
Correct |
893 ms |
348 KB |
Output is correct |
28 |
Correct |
917 ms |
428 KB |
Output is correct |
29 |
Correct |
889 ms |
456 KB |
Output is correct |
30 |
Correct |
8 ms |
348 KB |
Output is correct |
31 |
Correct |
10 ms |
348 KB |
Output is correct |
32 |
Correct |
8 ms |
348 KB |
Output is correct |
33 |
Correct |
9 ms |
348 KB |
Output is correct |
34 |
Execution timed out |
2053 ms |
348 KB |
Time limit exceeded |
35 |
Halted |
0 ms |
0 KB |
- |