QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#648380#7434. 冷たい部屋、一人lichenghanTL 1ms3724kbC++14919b2024-10-17 18:40:412024-10-17 18:40:41

Judging History

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

  • [2024-10-17 18:40:41]
  • 评测
  • 测评结果:TL
  • 用时:1ms
  • 内存:3724kb
  • [2024-10-17 18:40:41]
  • 提交

answer

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=5005;
template<class comp> struct sparse_table{
	static comp _c;
	int st[21][N];
	void init(int n,int* a){
		for(int i=1;i<=n;i++) st[0][i]=a[i];
		for(int j=1;j<=20;j++){
			auto F=st[j],G=st[j-1];
			for(int i=1;i<=n-(1<<j)+1;i++){
				F[i]=min(G[i],G[i+(1<<j>>1)],_c);
			}
		}
	}
	int q(int l,int r){
		int len=__lg(r-l+1);
		return min(st[len][l],st[len][r-(1<<len)+1],_c);
	}
};
sparse_table<less<int>> Tmin;
sparse_table<greater<int>> Tmax;
int n,m;
int a[N],b[N];
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>m;
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=n;i++) cin>>b[i];
	Tmin.init(n,b); Tmax.init(n,b);
	while(m--){
		int l,r;
		cin>>l>>r;
		int ans=0;
		for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) if(a[i]==a[j]&&Tmin.q(i,j)>=l&&Tmax.q(i,j)<=r) ans++;
		cout<<ans<<'\n';
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

100 100
4 1 5 1 2 1 7 5 3 7 2 3 6 6 5 3 2 2 4 1 6 5 6 2 2 2 7 6 1 3 6 3 5 6 7 6 1 2 3 3 4 2 1 1 5 4 4 3 6 7 1 1 6 1 5 6 2 3 7 4 2 4 6 7 7 3 5 3 7 2 3 3 5 1 4 7 1 2 2 5 2 2 4 3 4 7 2 7 7 3 7 3 6 6 5 4 5 4 7 6
93 52 12 70 25 36 18 37 27 99 68 40 84 3 76 57 60 19 33 41 92 87 58 13 15 43 28 63 64 59 31 ...

output:

1
0
13
71
1
1
3
7
0
0
2
1
3
20
12
6
61
24
1
0
0
2
3
19
0
0
6
2
0
0
4
1
135
0
19
1
1
29
14
39
1
0
1
7
7
0
12
3
0
1
0
1
1
5
0
28
14
19
2
1
0
0
6
5
0
0
2
7
5
1
2
2
0
1
11
1
0
1
0
10
0
0
5
1
33
1
17
2
1
22
20
1
2
0
0
16
0
1
1
15

result:

ok 100 numbers

Test #2:

score: 0
Accepted
time: 1ms
memory: 3652kb

input:

100 100
8 8 2 8 8 12 11 8 5 5 5 1 7 6 6 11 3 13 1 12 2 2 4 1 11 13 10 7 1 2 4 3 1 12 1 5 13 8 1 5 12 5 12 4 6 3 5 4 8 3 4 1 4 3 9 2 11 9 4 8 12 3 5 13 13 1 9 12 2 13 8 13 4 13 12 5 12 13 2 6 4 4 1 6 6 9 12 7 4 3 10 7 1 7 7 10 4 12 3 9
96 87 12 73 74 78 99 76 7 77 54 88 90 86 95 94 31 83 27 11 66 91 ...

output:

0
6
2
0
0
1
16
1
1
10
7
9
2
8
2
1
3
5
0
7
2
0
2
0
1
0
7
0
0
1
108
0
0
0
6
4
1
0
2
13
0
3
0
10
0
0
1
21
0
18
0
11
0
8
13
9
0
0
0
11
12
2
1
0
2
16
1
7
0
16
0
2
3
7
0
2
10
1
4
2
6
0
0
6
3
0
0
0
5
7
0
0
6
0
7
0
4
0
3
0

result:

ok 100 numbers

Test #3:

score: 0
Accepted
time: 1ms
memory: 3652kb

input:

100 100
13 4 2 1 1 2 1 39 20 1 1 1 33 1 1 1 9 37 21 7 14 58 1 3 19 29 40 56 2 1 3 1 42 1 1 13 1 3 5 4 49 1 1 8 8 3 1 14 1 1 2 6 17 3 2 2 2 9 3 1 17 90 1 1 1 1 8 14 17 16 1 33 15 20 46 22 2 20 11 1 28 3 1 4 1 17 3 9 10 2 1 2 2 6 1 1 3 17 27 2
86 82 24 49 50 32 63 20 53 11 60 1 16 27 15 14 12 88 52 17...

output:

1
84
13
0
7
4
26
1
9
1
7
3
10
0
7
3
6
4
4
0
13
1
0
4
4
0
40
22
36
0
5
6
0
37
28
213
1
6
10
4
0
3
5
0
3
5
25
2
0
1
3
12
1
39
0
8
4
2
6
0
6
4
23
17
0
0
4
13
6
6
0
0
6
10
11
30
0
7
10
10
101
0
1
0
62
0
10
100
26
4
5
1
24
0
1
4
15
3
0
6

result:

ok 100 numbers

Test #4:

score: 0
Accepted
time: 1ms
memory: 3708kb

input:

100 100
1 1 1 1 1 36 58 18 15 1 1 2 1 1 1 1 4 10 9 2 2 4 28 1 2 1 2 2 28 27 12 6 3 10 1 1 2 1 1 2 7 40 1 4 8 17 16 3 5 1 2 2 16 5 6 1 5 3 4 11 1 1 11 51 11 4 3 7 14 16 1 11 1 2 8 3 4 1 1 3 2 5 21 7 3 10 2 2 1 20 23 1 3 6 1 1 15 3 34 1
8 1 2 3 92 48 11 43 9 71 69 5 6 7 12 26 31 45 80 83 14 16 17 25 2...

output:

29
1
9
19
6
1
3
2
0
16
15
2
11
14
24
191
25
21
33
34
19
2
0
0
11
32
1
9
2
16
24
28
9
0
123
4
6
0
13
69
271
15
47
6
0
121
0
1
15
1
9
61
0
63
10
2
2
13
55
25
12
2
40
4
3
39
14
15
0
15
2
48
6
0
0
6
0
5
0
11
3
1
78
9
12
0
0
14
15
38
7
3
0
12
10
0
1
6
0
22

result:

ok 100 numbers

Test #5:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

100 100
1 15 6 12 6 13 8 8 3 5 14 5 7 13 8 1 1 3 8 5 4 7 9 1 1 7 4 14 7 5 4 6 7 5 11 6 4 14 8 11 12 9 12 14 10 12 9 14 14 11 12 12 11 8 5 11 10 6 13 5 6 4 6 15 10 2 13 12 7 15 9 14 15 1 9 9 8 4 5 2 2 5 13 14 12 5 9 13 7 12 1 1 1 7 10 5 11 4 4 6
17 65 39 50 77 97 44 15 72 11 8 59 74 14 1 3 5 68 21 4 ...

output:

24
5
0
4
0
1
0
0
2
0
2
11
0
13
12
3
19
0
0
0
5
1
0
0
14
0
9
0
1
22
7
25
44
0
7
0
0
3
27
1
0
0
8
3
0
0
2
2
18
26
63
15
2
28
0
1
8
10
18
19
4
0
0
5
0
0
3
15
5
63
5
8
29
0
14
8
7
2
3
1
1
1
2
1
6
8
0
0
19
0
20
0
3
11
0
4
6
5
55
0

result:

ok 100 numbers

Test #6:

score: -100
Time Limit Exceeded

input:

5000 5000
2 29 12 10 25 32 45 18 16 38 41 50 8 32 54 37 18 29 37 42 9 38 25 43 35 5 47 20 32 35 8 14 8 37 30 16 45 19 14 33 14 31 31 33 28 12 11 49 32 6 11 4 50 39 3 55 25 26 13 40 41 44 31 31 18 19 25 18 29 19 21 1 52 19 2 53 39 55 11 27 54 22 16 49 12 23 41 22 34 38 40 20 5 35 43 40 29 14 20 40 6 ...

output:

21908
618
65611
229
7839
55433
12508
4205
5
12239
31375
1958
20
2290
29810
13020
12234
5752
14318
13451
122
0
109
3852
26843
12709
11522
14307
45468
886
5020
6667
21808
3367
637
593
37
5078
2698
61
364
20500
88231
2311
39
2487
18627
3425
194
4845
54212
84095
14695
8
67509
4364
312
23989
3876
86722
1...

result: