QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#383914#1813. Joy with PermutationsCrysflyWA 226ms3992kbC++171.8kb2024-04-09 18:47:572024-04-09 18:57:43

Judging History

你现在查看的是最新测评结果

  • [2024-04-09 18:57:43]
  • 管理员手动重测本题所有提交记录
  • 测评结果:WA
  • 用时:226ms
  • 内存:3992kb
  • [2024-04-09 18:47:58]
  • 评测
  • 测评结果:0
  • 用时:0ms
  • 内存:3492kb
  • [2024-04-09 18:47:57]
  • 提交

answer

// what is matter? never mind. 
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("unroll-loops")
//#pragma GCC target("sse,sse2,sse3,sse4,popcnt,abm,mmx,avx,avx2") 
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Rep(i,a,b) for(int i=(a);i>=(b);--i)
#define ll long long
//#define int long long
#define ull unsigned long long
#define SZ(x) ((int)((x).size()))
#define ALL(x) (x).begin(),(x).end()
using namespace std;
inline int read()
{
    char c=getchar();int x=0;bool f=0;
    for(;!isdigit(c);c=getchar())f^=!(c^45);
    for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
    if(f)x=-x;return x;
}

#define fi first
#define se second
#define pb push_back
#define mkp make_pair
typedef pair<int,int>pii;
typedef vector<int>vi;

#define maxn 2000005
#define inf 0x3f3f3f3f

int n,res[maxn];
vi p,q;

int Q(vi o){
	cout<<"? "<<1<<" ";
	for(int x:o)cout<<x<<" ";
	cout<<endl;
	int x;cin>>x;return x;
}

signed main()
{
	cin>>n;
	vi w;
	For(i,1,4){
		vi o;
		For(j,1,4) if(i!=j) o.pb(j);
		w.pb(Q(o));
	}
	vi p={1,2,3,4};
	sort(ALL(p),[&](int x,int y){return w[x-1]>w[y-1];});
	int a,b,c,d,l,r;
	// [a,b]=(l),[c,d]=(r)
	a=p[0],b=p[1],c=p[2],d=p[3];
	r=w[a-1],l=w[d-1];
	For(i,5,n){
		int x=Q({a,c,i});
		if(x>l && x<r) {
			res[i]=x;
			continue;
		}
		if(x<=l){
			if(x<l) res[b]=l,b=i;
			else res[a]=l,a=i,l=Q({a,b,d});
		}else{
			if(x>r) res[d]=r,d=i;
			else res[c]=r,c=i,r=Q({a,c,d});
		}
	}
	cout<<"? "<<2<<" "<<a<<" "<<b<<endl;
	int x;cin>>x;
	if(x==a) res[a]=1,res[b]=2;
	else res[a]=2,res[b]=1;
	cout<<"? "<<2<<" "<<c<<" "<<d<<endl;
	cin>>x;
	if(x==c) res[c]=n-1,res[d]=n;
	else res[c]=n,res[d]=n-1;
	cout<<"! ";For(i,1,n)cout<<res[i]<<" "; cout<<endl;
	return 0;
}
/*

*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3752kb

input:

5
4
3
3
4
3
2
4
3

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 1 2 5 
? 1 5 4 3 
? 2 5 4
? 2 2 3
! 3 5 4 1 2 

result:

ok OK (6 2)

Test #2:

score: 0
Accepted
time: 226ms
memory: 3724kb

input:

60000
2
2
3
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50
50
51
51
52
52
53...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 3 1 5 
? 1 3 5 2 
? 1 3 5 6 
? 1 3 6 2 
? 1 3 6 7 
? 1 3 7 2 
? 1 3 7 8 
? 1 3 8 2 
? 1 3 8 9 
? 1 3 9 2 
? 1 3 9 10 
? 1 3 10 2 
? 1 3 10 11 
? 1 3 11 2 
? 1 3 11 12 
? 1 3 12 2 
? 1 3 12 13 
? 1 3 13 2 
? 1 3 13 14 
? 1 3 14 2 
? 1 3 14 15 
? 1 3 15 ...

result:

ok OK (119996 2)

Test #3:

score: 0
Accepted
time: 223ms
memory: 3812kb

input:

60000
59999
59999
59998
59998
59998
59997
59997
59996
59996
59995
59995
59994
59994
59993
59993
59992
59992
59991
59991
59990
59990
59989
59989
59988
59988
59987
59987
59986
59986
59985
59985
59984
59984
59983
59983
59982
59982
59981
59981
59980
59980
59979
59979
59978
59978
59977
59977
59976
59976
...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 1 3 5 
? 1 5 2 4 
? 1 5 3 6 
? 1 6 2 4 
? 1 6 3 7 
? 1 7 2 4 
? 1 7 3 8 
? 1 8 2 4 
? 1 8 3 9 
? 1 9 2 4 
? 1 9 3 10 
? 1 10 2 4 
? 1 10 3 11 
? 1 11 2 4 
? 1 11 3 12 
? 1 12 2 4 
? 1 12 3 13 
? 1 13 2 4 
? 1 13 3 14 
? 1 14 2 4 
? 1 14 3 15 
? 1 15 2 ...

result:

ok OK (119996 2)

Test #4:

score: 0
Accepted
time: 120ms
memory: 3716kb

input:

28238
2
2
3
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50
50
51
51
52
52
53...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 3 1 5 
? 1 3 5 2 
? 1 3 5 6 
? 1 3 6 2 
? 1 3 6 7 
? 1 3 7 2 
? 1 3 7 8 
? 1 3 8 2 
? 1 3 8 9 
? 1 3 9 2 
? 1 3 9 10 
? 1 3 10 2 
? 1 3 10 11 
? 1 3 11 2 
? 1 3 11 12 
? 1 3 12 2 
? 1 3 12 13 
? 1 3 13 2 
? 1 3 13 14 
? 1 3 14 2 
? 1 3 14 15 
? 1 3 15 ...

result:

ok OK (56472 2)

Test #5:

score: 0
Accepted
time: 52ms
memory: 3540kb

input:

13205
2
2
3
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50
50
51
51
52
52
53...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 3 1 5 
? 1 3 5 2 
? 1 3 5 6 
? 1 3 6 2 
? 1 3 6 7 
? 1 3 7 2 
? 1 3 7 8 
? 1 3 8 2 
? 1 3 8 9 
? 1 3 9 2 
? 1 3 9 10 
? 1 3 10 2 
? 1 3 10 11 
? 1 3 11 2 
? 1 3 11 12 
? 1 3 12 2 
? 1 3 12 13 
? 1 3 13 2 
? 1 3 13 14 
? 1 3 14 2 
? 1 3 14 15 
? 1 3 15 ...

result:

ok OK (26406 2)

Test #6:

score: 0
Accepted
time: 195ms
memory: 3752kb

input:

56108
2
2
3
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50
50
51
51
52
52
53...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 3 1 5 
? 1 3 5 2 
? 1 3 5 6 
? 1 3 6 2 
? 1 3 6 7 
? 1 3 7 2 
? 1 3 7 8 
? 1 3 8 2 
? 1 3 8 9 
? 1 3 9 2 
? 1 3 9 10 
? 1 3 10 2 
? 1 3 10 11 
? 1 3 11 2 
? 1 3 11 12 
? 1 3 12 2 
? 1 3 12 13 
? 1 3 13 2 
? 1 3 13 14 
? 1 3 14 2 
? 1 3 14 15 
? 1 3 15 ...

result:

ok OK (112212 2)

Test #7:

score: 0
Accepted
time: 105ms
memory: 3736kb

input:

34446
2
2
3
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50
50
51
51
52
52
53...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 3 1 5 
? 1 3 5 2 
? 1 3 5 6 
? 1 3 6 2 
? 1 3 6 7 
? 1 3 7 2 
? 1 3 7 8 
? 1 3 8 2 
? 1 3 8 9 
? 1 3 9 2 
? 1 3 9 10 
? 1 3 10 2 
? 1 3 10 11 
? 1 3 11 2 
? 1 3 11 12 
? 1 3 12 2 
? 1 3 12 13 
? 1 3 13 2 
? 1 3 13 14 
? 1 3 14 2 
? 1 3 14 15 
? 1 3 15 ...

result:

ok OK (68888 2)

Test #8:

score: 0
Accepted
time: 162ms
memory: 3944kb

input:

48565
2
2
3
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
19
19
20
20
21
21
22
22
23
23
24
24
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
41
41
42
42
43
43
44
44
45
45
46
46
47
47
48
48
49
49
50
50
51
51
52
52
53...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 3 1 5 
? 1 3 5 2 
? 1 3 5 6 
? 1 3 6 2 
? 1 3 6 7 
? 1 3 7 2 
? 1 3 7 8 
? 1 3 8 2 
? 1 3 8 9 
? 1 3 9 2 
? 1 3 9 10 
? 1 3 10 2 
? 1 3 10 11 
? 1 3 11 2 
? 1 3 11 12 
? 1 3 12 2 
? 1 3 12 13 
? 1 3 13 2 
? 1 3 13 14 
? 1 3 14 2 
? 1 3 14 15 
? 1 3 15 ...

result:

ok OK (97126 2)

Test #9:

score: 0
Accepted
time: 64ms
memory: 3672kb

input:

26055
26054
26054
26053
26053
26053
26052
26052
26051
26051
26050
26050
26049
26049
26048
26048
26047
26047
26046
26046
26045
26045
26044
26044
26043
26043
26042
26042
26041
26041
26040
26040
26039
26039
26038
26038
26037
26037
26036
26036
26035
26035
26034
26034
26033
26033
26032
26032
26031
26031
...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 1 3 5 
? 1 5 2 4 
? 1 5 3 6 
? 1 6 2 4 
? 1 6 3 7 
? 1 7 2 4 
? 1 7 3 8 
? 1 8 2 4 
? 1 8 3 9 
? 1 9 2 4 
? 1 9 3 10 
? 1 10 2 4 
? 1 10 3 11 
? 1 11 2 4 
? 1 11 3 12 
? 1 12 2 4 
? 1 12 3 13 
? 1 13 2 4 
? 1 13 3 14 
? 1 14 2 4 
? 1 14 3 15 
? 1 15 2 ...

result:

ok OK (52106 2)

Test #10:

score: 0
Accepted
time: 106ms
memory: 3952kb

input:

35907
35906
35906
35905
35905
35905
35904
35904
35903
35903
35902
35902
35901
35901
35900
35900
35899
35899
35898
35898
35897
35897
35896
35896
35895
35895
35894
35894
35893
35893
35892
35892
35891
35891
35890
35890
35889
35889
35888
35888
35887
35887
35886
35886
35885
35885
35884
35884
35883
35883
...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 1 3 5 
? 1 5 2 4 
? 1 5 3 6 
? 1 6 2 4 
? 1 6 3 7 
? 1 7 2 4 
? 1 7 3 8 
? 1 8 2 4 
? 1 8 3 9 
? 1 9 2 4 
? 1 9 3 10 
? 1 10 2 4 
? 1 10 3 11 
? 1 11 2 4 
? 1 11 3 12 
? 1 12 2 4 
? 1 12 3 13 
? 1 13 2 4 
? 1 13 3 14 
? 1 14 2 4 
? 1 14 3 15 
? 1 15 2 ...

result:

ok OK (71810 2)

Test #11:

score: 0
Accepted
time: 61ms
memory: 3640kb

input:

8640
8639
8639
8638
8638
8638
8637
8637
8636
8636
8635
8635
8634
8634
8633
8633
8632
8632
8631
8631
8630
8630
8629
8629
8628
8628
8627
8627
8626
8626
8625
8625
8624
8624
8623
8623
8622
8622
8621
8621
8620
8620
8619
8619
8618
8618
8617
8617
8616
8616
8615
8615
8614
8614
8613
8613
8612
8612
8611
8611
...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 1 3 5 
? 1 5 2 4 
? 1 5 3 6 
? 1 6 2 4 
? 1 6 3 7 
? 1 7 2 4 
? 1 7 3 8 
? 1 8 2 4 
? 1 8 3 9 
? 1 9 2 4 
? 1 9 3 10 
? 1 10 2 4 
? 1 10 3 11 
? 1 11 2 4 
? 1 11 3 12 
? 1 12 2 4 
? 1 12 3 13 
? 1 13 2 4 
? 1 13 3 14 
? 1 14 2 4 
? 1 14 3 15 
? 1 15 2 ...

result:

ok OK (17276 2)

Test #12:

score: 0
Accepted
time: 104ms
memory: 3688kb

input:

27481
27480
27480
27479
27479
27479
27478
27478
27477
27477
27476
27476
27475
27475
27474
27474
27473
27473
27472
27472
27471
27471
27470
27470
27469
27469
27468
27468
27467
27467
27466
27466
27465
27465
27464
27464
27463
27463
27462
27462
27461
27461
27460
27460
27459
27459
27458
27458
27457
27457
...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 1 3 5 
? 1 5 2 4 
? 1 5 3 6 
? 1 6 2 4 
? 1 6 3 7 
? 1 7 2 4 
? 1 7 3 8 
? 1 8 2 4 
? 1 8 3 9 
? 1 9 2 4 
? 1 9 3 10 
? 1 10 2 4 
? 1 10 3 11 
? 1 11 2 4 
? 1 11 3 12 
? 1 12 2 4 
? 1 12 3 13 
? 1 13 2 4 
? 1 13 3 14 
? 1 14 2 4 
? 1 14 3 15 
? 1 15 2 ...

result:

ok OK (54958 2)

Test #13:

score: 0
Accepted
time: 70ms
memory: 3728kb

input:

30992
30991
30991
30990
30990
30990
30989
30989
30988
30988
30987
30987
30986
30986
30985
30985
30984
30984
30983
30983
30982
30982
30981
30981
30980
30980
30979
30979
30978
30978
30977
30977
30976
30976
30975
30975
30974
30974
30973
30973
30972
30972
30971
30971
30970
30970
30969
30969
30968
30968
...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 1 3 5 
? 1 5 2 4 
? 1 5 3 6 
? 1 6 2 4 
? 1 6 3 7 
? 1 7 2 4 
? 1 7 3 8 
? 1 8 2 4 
? 1 8 3 9 
? 1 9 2 4 
? 1 9 3 10 
? 1 10 2 4 
? 1 10 3 11 
? 1 11 2 4 
? 1 11 3 12 
? 1 12 2 4 
? 1 12 3 13 
? 1 13 2 4 
? 1 13 3 14 
? 1 14 2 4 
? 1 14 3 15 
? 1 15 2 ...

result:

ok OK (61980 2)

Test #14:

score: -100
Wrong Answer
time: 93ms
memory: 3992kb

input:

60000
29402
29401
29401
29402
29402
29403
29400
29400
29404
29404
29400
29404
29404
29404
29400
29400
29404
29404
29404
29400
29404
29404
29400
29400
29404
29400
29400
29400
29400
29404
29404
29400
29400
29400
29404
29400
29404
29404
29400
29404
29404
29404
29404
29404
29404
29404
29400
29404
29400
...

output:

? 1 2 3 4 
? 1 1 3 4 
? 1 1 2 4 
? 1 1 2 3 
? 1 1 2 5 
? 1 1 5 3 
? 1 1 5 6 
? 1 1 5 7 
? 1 1 5 8 
? 1 1 5 9 
? 1 1 5 10 
? 1 1 5 11 
? 1 1 5 12 
? 1 1 5 13 
? 1 1 5 14 
? 1 1 5 15 
? 1 1 5 16 
? 1 1 5 17 
? 1 1 5 18 
? 1 1 5 19 
? 1 1 5 20 
? 1 1 5 21 
? 1 1 5 22 
? 1 1 5 23 
? 1 1 5 24 
? 1 1 5 25...

result:

wrong answer wrong answer