176892025-09-13 15:33:03lalalaLCS of Permutationscpp17Time limit exceeded 0/1004.099s262144 KiB
#include<bits/stdc++.h>

using namespace std;

int main(){
	int t;
	cin >> t;
	while(t--){
		int n, a, b, c, output;
		cin >> n >> a >> b >> c >> output;
		/*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";
		}*/
		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);
		bool found=false;
		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{
			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);
						if(a<dp1[i][j]) continue;
					}
				}
				if(dp1[n][n]!=a) continue;
				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);
							if(b<dp2[i][j]) continue;
						}
					}
					if(dp2[n][n]!=b) continue;
					for(int i=1;i<=n;i++){
						for(int j=1;j<=n;j++){
							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);
							if(c<dp3[i][j]) continue;
						}
					}
					if(dp3[n][n]!=c) continue;
					cout << "YES\n";
					for(int x : p) cout << x << ' ';
					cout << '\n';
					for(int x : q) cout << x << ' ';
					cout << '\n';
					for(int x : r) cout << x << ' ';
					cout << '\n';
					found=true;
					break;
				} while(next_permutation(r.begin(), r.end()));
				if(found) break;
			} while(next_permutation(q.begin(), q.end()));
			if(found) break;
		} while(next_permutation(p.begin(), p.end()));
		if(!found) cout << "NO\n";
	}
	return 0;
}
SubtaskSumTestVerdictTimeMemory
00/0
1Time limit exceeded0/04.076s316 KiB
10/3
2Time limit exceeded4.074s3572 KiB
3Runtime error239ms262144 KiB
4Runtime error237ms262144 KiB
5Runtime error246ms262144 KiB
6Runtime error248ms262144 KiB
7Time limit exceeded4.084s19512 KiB
8Time limit exceeded4.083s316 KiB
9Time limit exceeded4.078s404 KiB
20/8
10Time limit exceeded0/84.086s316 KiB
30/10
11Time limit exceeded4.081s316 KiB
12Runtime error245ms262144 KiB
13Runtime error238ms262144 KiB
14Runtime error239ms262144 KiB
15Runtime error238ms262144 KiB
16Runtime error199ms262144 KiB
17Runtime error234ms262144 KiB
18Runtime error236ms262144 KiB
19Runtime error234ms262144 KiB
20Runtime error197ms262144 KiB
21Runtime error199ms262144 KiB
22Runtime error252ms262144 KiB
23Runtime error195ms262144 KiB
24Runtime error199ms262144 KiB
25Runtime error250ms262144 KiB
26Runtime error201ms262144 KiB
27Time limit exceeded4.093s104764 KiB
28Time limit exceeded4.086s20276 KiB
29Runtime error202ms262144 KiB
30Time limit exceeded4.077s19700 KiB
31Time limit exceeded4.086s1332 KiB
32Time limit exceeded4.085s316 KiB
33Time limit exceeded4.08s316 KiB
34Time limit exceeded4.081s316 KiB
40/17
35Time limit exceeded4.085s316 KiB
36Runtime error241ms262144 KiB
37Runtime error201ms262144 KiB
38Runtime error244ms262144 KiB
39Runtime error243ms262144 KiB
40Runtime error237ms262144 KiB
41Runtime error215ms262144 KiB
42Runtime error245ms262144 KiB
43Runtime error240ms262144 KiB
44Runtime error202ms262144 KiB
45Runtime error244ms262144 KiB
46Runtime error209ms262144 KiB
47Runtime error240ms262144 KiB
48Runtime error211ms262144 KiB
49Runtime error254ms262144 KiB
50Runtime error200ms262144 KiB
51Time limit exceeded4.09s104756 KiB
52Time limit exceeded4.098s20420 KiB
53Runtime error250ms262144 KiB
54Time limit exceeded4.092s19508 KiB
55Time limit exceeded4.073s1332 KiB
56Time limit exceeded4.099s316 KiB
57Time limit exceeded4.072s316 KiB
58Time limit exceeded4.089s316 KiB
50/22
59Time limit exceeded4.074s500 KiB
60Runtime error234ms262144 KiB
61Time limit exceeded4.085s2100 KiB
62Runtime error209ms262144 KiB
63Time limit exceeded4.083s2100 KiB
64Time limit exceeded4.098s3636 KiB
65Runtime error246ms262144 KiB
66Runtime error246ms262144 KiB
67Runtime error238ms262144 KiB
68Time limit exceeded4.083s9780 KiB
69Runtime error197ms262144 KiB
70Runtime error245ms262144 KiB
71Runtime error250ms262144 KiB
72Time limit exceeded4.085s508 KiB
73Time limit exceeded4.094s74804 KiB
74Time limit exceeded4.08s1012 KiB
75Runtime error216ms262144 KiB
76Runtime error206ms262144 KiB
77Runtime error256ms262144 KiB
78Time limit exceeded4.08s6452 KiB
79Time limit exceeded4.085s500 KiB
80Time limit exceeded4.087s316 KiB
81Time limit exceeded4.076s564 KiB
82Time limit exceeded4.079s316 KiB
83Time limit exceeded4.083s1340 KiB
84Time limit exceeded4.073s316 KiB
85Time limit exceeded4.081s316 KiB
86Time limit exceeded4.081s408 KiB
60/40
87Time limit exceeded0/404.099s316 KiB
88Time limit exceeded0/04.081s3636 KiB
89Runtime error0/0207ms262144 KiB
90Runtime error0/0203ms262144 KiB
91Runtime error0/0250ms262144 KiB
92Time limit exceeded0/04.086s9780 KiB
93Runtime error0/0202ms262144 KiB
94Runtime error0/0241ms262144 KiB
95Runtime error0/0244ms262144 KiB
96Time limit exceeded0/04.078s508 KiB
97Time limit exceeded0/04.093s74804 KiB
98Time limit exceeded0/04.091s820 KiB
99Runtime error0/0247ms262144 KiB
100Runtime error0/0204ms262144 KiB
101Runtime error0/0210ms262144 KiB
102Time limit exceeded0/04.086s6456 KiB
103Time limit exceeded0/04.086s508 KiB
104Time limit exceeded0/04.08s316 KiB
105Time limit exceeded0/04.087s564 KiB
106Time limit exceeded0/04.089s316 KiB
107Time limit exceeded0/04.084s1332 KiB
108Time limit exceeded0/04.08s508 KiB
109Time limit exceeded0/04.079s316 KiB
110Time limit exceeded0/04.078s508 KiB