176612025-08-27 23:12:47PajerLeviLCS of Permutationscpp17Wrong answer 8/100273ms1244 KiB
#include<bits/stdc++.h>

using namespace std;

int main(){
	vector<vector<int>> oracle[7][7][7][7]{};
	for(int n=1;n<7;n++){
		vector<int> p(n), q(n), r(n);
		iota(p.begin(), p.end(), 1);
		iota(q.begin(), q.end(), 1);
		iota(r.begin(), r.end(), 1);
		vector<vector<int>> dp1(n+1, vector<int>(n+1)), dp2(n+1, vector<int>(n+1)), dp3(n+1, vector<int>(n+1));
		do{
			for(int i=1;i<=n;i++){
				for(int j=1;j<=n;j++){
					dp1[i][j]=max(dp1[i-1][j], dp1[i][j-1]);
					if(p[i-1]==q[j-1]) dp1[i][j]=max(dp1[i][j], dp1[i-1][j-1]+1);
				}
			}
			do{
				for(int i=1;i<=n;i++){
					for(int j=1;j<=n;j++){
						dp2[i][j]=max(dp2[i-1][j], dp2[i][j-1]);
						if(p[i-1]==r[j-1]) dp2[i][j]=max(dp2[i][j], dp2[i-1][j-1]+1);
						dp3[i][j]=max(dp3[i-1][j], dp3[i][j-1]);
						if(q[i-1]==r[j-1]) dp3[i][j]=max(dp3[i][j], dp3[i-1][j-1]+1);
					}
				}
				oracle[n][dp1[n][n]][dp2[n][n]][dp3[n][n]].resize(3);
				oracle[n][dp1[n][n]][dp2[n][n]][dp3[n][n]][0]=p;
				oracle[n][dp1[n][n]][dp2[n][n]][dp3[n][n]][1]=q;
				oracle[n][dp1[n][n]][dp2[n][n]][dp3[n][n]][2]=r;
			} while(next_permutation(r.begin(), r.end()));
		} while(next_permutation(q.begin(), q.end()));
	}
	int t;
	cin >> t;
	while(t--){
		int n, a, b, c, output;
		cin >> n >> a >> b >> c >> output;
		if(0<oracle[n][a][b][c].size()){
			cout << "YES\n";
			for(int x : oracle[n][a][b][c][0]) cout << x << ' ';
			cout << '\n';
			for(int x : oracle[n][a][b][c][1]) cout << x << ' ';
			cout << '\n';
			for(int x : oracle[n][a][b][c][2]) cout << x << ' ';
			cout << '\n';
		}
		else{
			cout << "NO\n";
		}
		/*if(b==n-c+1){
			cout << "YES\n";
			if(output){
				for(int i=0;i<n;i++) cout << n-i << ' ';
				cout << '\n';
				for(int i=0;i<n;i++) cout << i+1 << ' ';
				cout << '\n';
				for(int i=0;i<=n-c;i++) cout << n-c-i+1 << ' ';
				for(int i=n-c+1;i<n;i++) cout << i+1 << ' ';
				cout << '\n';
			}
		}
		else{
			cout << "NO\n";
		}*/
	}
	return 0;
}
SubtaskSumTestVerdictTimeMemory
00/0
1Wrong answer0/0163ms472 KiB
10/3
2Runtime error160ms316 KiB
3Runtime error160ms316 KiB
4Runtime error160ms508 KiB
5Runtime error160ms316 KiB
6Runtime error159ms316 KiB
7Runtime error159ms500 KiB
8Runtime error160ms476 KiB
9Runtime error162ms480 KiB
28/8
10Accepted8/8273ms1244 KiB
30/10
11Runtime error160ms316 KiB
12Runtime error159ms488 KiB
13Runtime error159ms504 KiB
14Runtime error159ms500 KiB
15Runtime error160ms472 KiB
16Runtime error159ms316 KiB
17Runtime error159ms316 KiB
18Runtime error159ms476 KiB
19Runtime error159ms316 KiB
20Runtime error159ms316 KiB
21Runtime error160ms316 KiB
22Runtime error160ms392 KiB
23Runtime error159ms316 KiB
24Runtime error160ms316 KiB
25Runtime error159ms316 KiB
26Runtime error159ms316 KiB
27Runtime error159ms464 KiB
28Runtime error159ms316 KiB
29Runtime error160ms316 KiB
30Runtime error159ms476 KiB
31Runtime error159ms316 KiB
32Runtime error159ms476 KiB
33Runtime error160ms508 KiB
34Runtime error159ms476 KiB
40/17
35Runtime error159ms472 KiB
36Runtime error159ms508 KiB
37Runtime error160ms316 KiB
38Runtime error159ms316 KiB
39Runtime error159ms508 KiB
40Runtime error160ms480 KiB
41Runtime error160ms316 KiB
42Runtime error159ms316 KiB
43Runtime error159ms316 KiB
44Runtime error160ms472 KiB
45Runtime error159ms476 KiB
46Runtime error163ms508 KiB
47Runtime error159ms508 KiB
48Runtime error160ms468 KiB
49Runtime error160ms500 KiB
50Runtime error159ms316 KiB
51Runtime error160ms560 KiB
52Runtime error160ms316 KiB
53Runtime error159ms316 KiB
54Runtime error160ms316 KiB
55Runtime error160ms508 KiB
56Runtime error160ms476 KiB
57Runtime error160ms468 KiB
58Runtime error159ms500 KiB
50/22
59Runtime error160ms468 KiB
60Runtime error160ms316 KiB
61Runtime error160ms500 KiB
62Runtime error160ms328 KiB
63Runtime error160ms316 KiB
64Runtime error160ms472 KiB
65Runtime error159ms316 KiB
66Runtime error160ms480 KiB
67Runtime error160ms476 KiB
68Runtime error160ms480 KiB
69Runtime error159ms500 KiB
70Runtime error159ms728 KiB
71Runtime error159ms316 KiB
72Runtime error160ms316 KiB
73Runtime error159ms480 KiB
74Runtime error159ms316 KiB
75Runtime error159ms472 KiB
76Runtime error160ms316 KiB
77Runtime error159ms480 KiB
78Runtime error159ms316 KiB
79Runtime error159ms316 KiB
80Runtime error160ms472 KiB
81Runtime error159ms316 KiB
82Runtime error160ms316 KiB
83Runtime error159ms476 KiB
84Runtime error160ms316 KiB
85Runtime error159ms480 KiB
86Runtime error159ms316 KiB
60/40
87Runtime error0/40160ms316 KiB
88Runtime error0/0160ms316 KiB
89Runtime error0/0160ms476 KiB
90Runtime error0/0160ms316 KiB
91Runtime error0/0163ms316 KiB
92Runtime error0/0160ms476 KiB
93Runtime error0/0159ms316 KiB
94Runtime error0/0159ms316 KiB
95Runtime error0/0159ms316 KiB
96Runtime error0/0159ms316 KiB
97Runtime error0/0160ms476 KiB
98Runtime error0/0159ms316 KiB
99Runtime error0/0160ms560 KiB
100Runtime error0/0159ms476 KiB
101Runtime error0/0159ms316 KiB
102Runtime error0/0159ms316 KiB
103Runtime error0/0159ms316 KiB
104Runtime error0/0160ms464 KiB
105Runtime error0/0159ms472 KiB
106Runtime error0/0159ms316 KiB
107Runtime error0/0160ms316 KiB
108Runtime error0/0159ms480 KiB
109Runtime error0/0159ms316 KiB
110Runtime error0/0159ms316 KiB