QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#498646#8819. CNOI Knowledgec20150005AC ✓266ms34912kbC++231.0kb2024-07-30 17:10:422024-07-30 17:10:48

Judging History

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

  • [2024-07-30 17:10:48]
  • 评测
  • 测评结果:AC
  • 用时:266ms
  • 内存:34912kb
  • [2024-07-30 17:10:42]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;using ll=long long;
int rd(int x=0,char c=getchar()){int f=1;while(!isdigit(c))f=(c^'-'?1:-1),c=getchar();while(isdigit(c))x=x*10+(c^48),c=getchar();return x*f;}
const int N=1e3+3;
int n,a[N],s[N],S,c[N];
using ull=unsigned long long;
const ull pw=611;
ull h[N];
map<ull,int> mp;
int main(){
	n=rd();a[1]=s[1]=h[1]=++S;mp[1]=1;
	for(int i=2;i<=n;i++){
		int l=1,r=i,p=1;
		while(l<=r){
			int mid=(l+r)>>1;
			cout<<"? "<<mid<<" "<<i<<endl;
			int x=rd();
//			cout<<"? "<<mid<<" "<<i-1<<endl;
//			int y=rd(); 
			if(x==s[mid]+i-mid+1)p=mid,r=mid-1;
			else l=mid+1;
		}
		if(p==1)a[i]=++S;
		else a[i]=a[p-1];
		ull x=0;
		for(int j=i;j;j--){
			x=x*pw+a[j];
			c[mp[x]+1]++;c[j+1]--;
			mp[x]=j;
		}
		for(int j=1;j<=i;j++)c[j]+=c[j-1],s[j]+=c[j];
		for(int j=1;j<=i+1;j++)c[j]=0;
//		cerr<<"I: "<<i<<endl;
//		for(int j=1;j<=i;j++)cerr<<s[j]<<" ";
//		cerr<<endl;
	}
	cout<<"! ";
	for(int i=1;i<=n;i++)printf("%d ",a[i]);
	cout<<endl;
	return 0;
}
/*

1 2 3 4 5 6 2 5 7 7 5 6 
*/

详细

Test #1:

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

input:

12
3
3
6
6
10
6
15
10
21
10
20
15
14
6
9
14
34
43
19
5
2
1
19
5
13
8
25
9
19

output:

? 1 2
? 2 3
? 1 3
? 2 4
? 1 4
? 3 5
? 1 5
? 3 6
? 1 6
? 4 7
? 2 7
? 3 7
? 4 8
? 6 8
? 5 8
? 5 9
? 2 9
? 1 9
? 5 10
? 8 10
? 9 10
? 10 10
? 6 11
? 9 11
? 7 11
? 8 11
? 6 12
? 9 12
? 7 12
! 1 2 3 4 5 6 2 5 7 7 5 6 

result:

ok Accepted. 29 queries used.

Test #2:

score: 0
Accepted
time: 250ms
memory: 34512kb

input:

1000
3
2
1
3
2
1
5
11
7
8
2
1
7
2
1
11
5
7
11
5
3
15
5
2
1
15
3
2
1
19
4
2
1
17
4
2
1
20
4
2
1
15
4
2
1
23
9
13
15
23
11
5
3
31
11
5
3
36
11
5
2
1
45
15
3
2
1
48
15
5
11
7
58
16
5
2
1
59
16
5
12
8
69
21
8
2
1
69
20
8
3
5
79
20
8
2
1
76
20
8
3
5
87
26
8
3
5
88
26
8
2
1
100
24
8
3
5
98
24
8
2
1
111
31...

output:

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

result:

ok Accepted. 8792 queries used.

Test #3:

score: 0
Accepted
time: 266ms
memory: 34516kb

input:

1000
2
1
2
1
5
7
5
2
1
7
2
1
7
16
11
11
5
2
1
11
3
2
1
14
3
2
1
11
3
2
1
13
4
2
1
7
4
2
1
15
51
32
23
20
8
2
1
28
12
5
8
31
12
5
2
1
38
11
3
2
1
38
9
3
2
1
44
14
5
9
44
14
5
2
1
54
15
3
2
1
56
14
3
2
1
65
17
4
2
1
66
17
7
11
76
17
8
2
1
76
20
8
3
5
87
26
8
2
1
88
26
8
3
5
102
26
8
3
5
102
26
8
2
1
1...

output:

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

result:

ok Accepted. 8780 queries used.

Test #4:

score: 0
Accepted
time: 249ms
memory: 34688kb

input:

1000
3
3
5
5
2
1
5
11
8
8
2
1
8
3
5
12
5
2
1
11
3
2
1
16
5
11
7
15
5
3
20
7
3
5
21
8
2
1
27
7
2
1
26
4
2
1
31
5
3
2
1
27
5
3
2
1
31
5
3
2
1
26
5
3
2
1
35
11
17
26
35
14
5
3
44
15
5
2
1
44
15
3
2
1
53
19
4
2
1
55
19
7
14
9
63
19
8
3
5
62
19
8
2
1
69
24
7
2
1
70
23
7
15
11
81
23
8
3
5
83
25
7
3
5
99
3...

output:

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

result:

ok Accepted. 8787 queries used.

Test #5:

score: 0
Accepted
time: 258ms
memory: 34576kb

input:

1000
2
1
2
1
5
7
5
3
8
2
1
7
2
1
9
3
2
1
5
3
2
1
6
3
2
1
11
27
20
13
17
8
2
1
20
8
3
5
26
8
3
5
26
8
2
1
31
11
5
8
28
11
5
3
36
11
5
3
34
9
5
3
41
11
5
3
45
14
5
2
1
55
15
5
11
8
56
16
5
2
1
65
21
8
3
5
65
20
8
2
1
75
20
8
3
5
76
21
8
3
5
87
26
8
2
1
85
24
8
3
5
95
24
8
2
1
92
26
8
3
5
101
32
12
5
2...

output:

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

result:

ok Accepted. 8778 queries used.

Test #6:

score: 0
Accepted
time: 253ms
memory: 34696kb

input:

1000
2
1
3
5
5
2
1
5
12
8
8
2
1
8
3
5
12
5
2
1
12
5
8
16
5
2
1
16
5
12
8
21
8
3
5
21
7
3
5
26
7
3
5
23
7
3
5
27
9
5
3
27
11
5
2
1
34
11
5
8
34
11
5
3
41
15
5
3
41
14
5
3
48
11
5
3
52
14
5
2
1
63
19
7
2
1
66
20
7
15
11
77
21
8
2
1
79
21
7
2
1
91
27
7
16
11
91
27
8
2
1
104
26
8
3
5
103
26
8
2
1
115
31...

output:

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

result:

ok Accepted. 8781 queries used.

Test #7:

score: 0
Accepted
time: 242ms
memory: 34716kb

input:

1000
3
2
1
3
2
1
5
12
8
2
1
7
2
1
11
5
7
11
5
3
15
5
2
1
15
3
2
1
22
41
61
50
23
8
3
5
29
7
3
5
29
8
2
1
37
13
23
29
37
13
5
3
45
11
5
3
44
9
5
3
51
11
5
3
47
11
5
3
57
15
29
47
38
58
17
6
13
9
69
22
9
3
6
68
21
9
3
6
80
21
9
3
5
80
23
9
18
13
94
30
9
3
6
94
31
9
2
1
108
30
9
17
13
110
28
9
17
13
12...

output:

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

result:

ok Accepted. 8757 queries used.

Test #8:

score: 0
Accepted
time: 255ms
memory: 34784kb

input:

1000
3
2
1
5
9
6
13
9
9
3
5
7
3
5
11
5
2
1
11
3
2
1
17
37
29
22
17
5
2
1
22
7
2
1
19
4
2
1
27
63
44
35
28
9
15
21
35
13
6
9
33
13
5
2
1
42
13
5
8
43
11
5
3
52
15
5
3
54
16
5
2
1
65
17
37
29
65
18
5
3
76
23
7
3
5
77
23
9
17
89
23
9
3
6
87
23
9
2
1
100
29
7
2
1
100
30
7
17
11
115
30
9
17
23
116
30
9
2...

output:

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

result:

ok Accepted. 8720 queries used.

Test #9:

score: 0
Accepted
time: 231ms
memory: 34792kb

input:

1000
3
3
6
5
2
1
5
13
8
8
2
1
9
18
24
13
5
2
1
13
31
24
18
18
5
3
17
5
3
23
9
17
23
9
2
1
29
7
2
1
27
4
2
1
32
5
3
2
1
29
5
3
2
1
33
5
3
2
1
33
9
15
24
42
15
24
33
42
17
6
13
9
51
17
5
2
1
51
17
5
13
9
63
23
8
2
1
67
23
7
2
1
80
23
7
16
11
83
21
8
2
1
95
26
8
3
5
95
29
62
44
35
110
30
9
3
5
111
30
8...

output:

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

result:

ok Accepted. 8742 queries used.

Test #10:

score: 0
Accepted
time: 229ms
memory: 34768kb

input:

1000
2
1
3
5
6
9
6
13
9
9
2
1
7
2
1
12
22
17
11
5
3
15
5
3
17
36
29
22
23
9
2
1
23
9
18
13
30
8
3
5
30
8
2
1
36
11
5
8
33
11
5
3
41
11
5
3
41
12
27
32
51
17
5
2
1
51
18
5
13
8
61
18
6
13
62
18
5
2
1
74
24
9
18
13
75
23
9
17
13
87
23
9
3
5
88
23
7
3
5
100
28
7
3
5
101
28
9
15
21
115
27
9
3
5
115
28
8...

output:

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

result:

ok Accepted. 8735 queries used.

Test #11:

score: 0
Accepted
time: 240ms
memory: 34912kb

input:

1000
2
1
3
5
5
2
1
5
12
8
9
18
9
3
6
13
5
2
1
13
5
8
18
6
13
18
5
3
24
8
2
1
24
9
18
13
30
8
3
5
29
8
2
1
36
11
3
2
1
36
12
22
29
45
12
29
23
17
46
13
5
3
55
17
5
3
53
15
5
3
64
15
35
28
21
64
17
6
13
9
76
23
9
2
1
76
24
8
3
5
88
24
9
18
13
89
24
9
2
1
102
31
9
18
13
102
30
8
2
1
116
30
8
3
5
115
30...

output:

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

result:

ok Accepted. 8740 queries used.

Extra Test:

score: 0
Extra Test Passed