QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#557292#9240. Mosaicyyyyxh#12 255ms65816kbC++141.7kb2024-09-11 08:42:312024-09-11 08:42:31

Judging History

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

  • [2024-09-11 08:42:31]
  • 评测
  • 测评结果:12
  • 用时:255ms
  • 内存:65816kb
  • [2024-09-11 08:42:31]
  • 提交

answer

#include "mosaic.h"
#include <vector>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
vl mosaic(vi X,vi Y,vi T,vi B,vi L,vi R) {
	const int D=20;
	int n=max(X.size(),Y.size()),q=max(L.size(),R.size());
	vector<vi> adj(2*n-1);
	for(int i=0;i<2*n;++i) adj[i].reserve(D+1);
	auto A=[&](int i,int j)->int&{
		int p=i-j+n-1,d=min(i,j);
		while(d>=(int)adj[p].size()) adj[p].emplace_back(0);
		return adj[p][d];
	};
	for(int i=0;i<n;++i)
		for(int j=0;j<n;++j){
			if(i>D&&j>D) break;
			if(!i||!j){
				if(!i) A(i,j)=X[j];
				if(!j) A(i,j)=Y[i];
				continue;
			}
			A(i,j)=!A(i-1,j)&&!A(i,j-1);
		}
	for(int i=0;i<n;++i)
		for(int j=0;j<n;++j){
			if(i>=D&&j>=D) break;
			if(i) A(i,j)+=A(i-1,j);
			if(j) A(i,j)+=A(i,j-1);
			if(i&&j) A(i,j)-=A(i-1,j-1);
		}
	vi sx(n),sy(n);
	for(int i=D;i<n;++i) sx[i]=sx[i-1]+A(D,i);
	for(int i=D+1;i<n;++i) sy[i]=sy[i-1]+A(i,D);
	vl tx(n),ty(n);
	for(int i=D;i<n;++i) tx[i]=tx[i-1]+A(D,i)*i;
	for(int i=D+1;i<n;++i) ty[i]=ty[i-1]+A(i,D)*i;
	auto qry=[&](int x,int y)->ll{
		if(x<0||y<0) return 0;
		if(x>=D&&y>=D){
			ll ans=A(x,D-1)+A(D-1,y)-A(D-1,D-1);
			if(y>=x) ans+=(ll)sx[min(D+y-x,n-1)]*(x-D+1);
			else ans+=(ll)sy[min(D+x-y,n-1)]*(y-D+1);
			int ox=max(D-1,D+y-x),oy=max(D,D+x-y);
			ans+=(ll)(sx[y]-sx[ox])*(y+1)-(tx[y]-tx[ox]);
			ans+=(ll)(sy[y]-sy[oy])*(x+1)-(ty[x]-ty[oy]);
			// for(int i=ox+1;i<=y;++i) // (D,i)
				// if(A(D,i)) ans-=i;
			// for(int i=oy+1;i<=x;++i) // (i,D)
				// if(A(i,D)) ans-=i;
			return ans;
		}
		else return A(x,y);
	};
	vl res(q);
	for(int o=0;o<q;++o){
		--T[o];--L[o];
		res[o]=qry(B[o],R[o])+qry(T[o],L[o])-qry(T[o],R[o])-qry(B[o],L[o]);
	}
	return res;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 0ms
memory: 3888kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
1
0
0
10
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
0
0
0
0
0
0
0
0
0
0

result:

ok 

Test #2:

score: 5
Accepted
time: 0ms
memory: 3764kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
1
1
1
10
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
1
1
1
1
1
1
1
1
1
1

result:

ok 

Test #3:

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

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
2
1 0
1 0
10
1 1 0 1
1 1 0 1
0 0 0 0
0 1 0 1
0 1 0 1
1 1 0 0
0 1 0 1
0 1 1 1
1 1 0 1
0 0 0 1

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
1
1
1
2
2
0
2
1
1
1

result:

ok 

Test #4:

score: 5
Accepted
time: 0ms
memory: 3780kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
2
1 0
1 0
10
0 1 1 1
0 1 0 1
0 1 0 0
1 1 0 1
0 1 0 1
0 1 0 0
1 1 1 1
0 0 0 1
0 1 0 0
1 1 0 0

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
1
2
1
1
2
1
1
1
1
0

result:

ok 

Test #5:

score: 5
Accepted
time: 0ms
memory: 3756kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
2
0 1
0 0
10
0 1 0 0
0 0 0 1
0 1 0 0
0 0 0 0
1 1 1 1
0 1 0 0
0 0 0 1
0 1 0 1
0 1 0 1
0 1 0 1

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
0
1
0
0
0
0
1
1
1
1

result:

ok 

Test #6:

score: 5
Accepted
time: 0ms
memory: 4068kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
2
1 1
1 0
10
0 0 0 1
0 0 0 1
1 1 0 1
0 1 0 1
0 1 0 0
0 1 1 1
1 1 0 1
0 0 1 1
0 1 0 0
0 1 0 0

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
2
2
0
2
1
1
0
1
1
1

result:

ok 

Test #7:

score: 5
Accepted
time: 0ms
memory: 3800kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
2
0 0
0 1
10
0 0 0 0
0 1 0 1
0 1 0 1
0 1 0 1
0 1 1 1
0 0 1 1
0 0 0 1
0 1 0 0
1 1 0 1
1 1 0 1

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
0
1
1
1
0
0
0
1
1
1

result:

ok 

Test #8:

score: 5
Accepted
time: 0ms
memory: 4100kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
2
1 0
1 1
10
0 1 0 0
1 1 0 1
0 0 0 1
1 1 1 1
1 1 0 0
0 1 1 1
0 1 0 0
0 0 1 1
1 1 0 1
0 1 0 1

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
2
1
1
0
1
0
2
0
1
2

result:

ok 

Test #9:

score: 5
Accepted
time: 0ms
memory: 3872kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
2
0 1
0 1
10
0 1 0 1
0 1 0 1
1 1 1 1
0 1 0 1
0 0 1 1
0 1 0 1
0 1 1 1
0 0 0 0
0 1 0 0
0 1 0 1

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
2
2
0
2
1
2
1
0
1
2

result:

ok 

Test #10:

score: 5
Accepted
time: 0ms
memory: 3756kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
2
1 1
1 1
10
0 0 0 1
0 1 0 0
0 1 0 0
0 1 0 1
0 0 0 0
0 1 0 1
0 1 0 1
0 1 1 1
0 1 0 1
1 1 1 1

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
2
2
2
3
1
3
3
1
3
0

result:

ok 

Subtask #2:

score: 0
Wrong Answer

Dependency #1:

100%
Accepted

Test #11:

score: 0
Wrong Answer
time: 1ms
memory: 3860kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
199
0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 1...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
2178
10044
1794
833
21532
2524
3427
8597
-2111
3610
69
848
1409
11158
10595
1245
78
17
400
823
6058
154
-1631
98
-216
2420
171
1470
2147
-3365
10933
5394
116
1321
2235
114
-1259
3972
957
1900
858
3018
1226
3392
1497
10437
3817
3986
479
7097
1761
3854
2157
2982
-79...

result:

wrong answer 3rd lines differ - on the 1st token, expected: '1078', found: '2178'

Subtask #3:

score: 7
Accepted

Test #18:

score: 7
Accepted
time: 201ms
memory: 65816kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
199999
0 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 ...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
1314
79312
13238
63518
27135
86532
21129
53105
14461
13920
65981
66950
13385
23885
37091
56646
69855
64947
74166
41759
50738
1366
65318
58452
24337
58380
29379
59258
39016
4990
60529
23351
60370
12835
25686
8151
17007
56172
10913
7224
30221
73673
55593
33643
44070...

result:

ok 

Test #19:

score: 7
Accepted
time: 198ms
memory: 65736kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
199999
0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 ...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
97288
84412
98958
98546
95894
91536
99791
94852
96879
98784
94005
99030
95916
90829
96593
96545
90518
95251
93882
95122
94925
96009
98788
98866
95996
97263
95422
95733
96576
97730
98106
96939
94030
94576
94019
92982
96921
95715
96639
93579
97372
97983
95123
95211
...

result:

ok 

Test #20:

score: 7
Accepted
time: 200ms
memory: 65808kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
200000
1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 ...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
63186
59869
80378
71302
94439
63006
84372
99459
21243
54879
86436
65742
94261
35276
55849
93734
72881
49090
34951
93280
90257
58145
84070
58055
95069
56733
82475
51301
59357
39555
95572
87255
37523
68017
80309
52815
95469
29140
85700
46052
56013
71305
90947
7434
6...

result:

ok 

Test #21:

score: 7
Accepted
time: 212ms
memory: 65724kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
200000
1 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 ...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
99156
96398
98499
93058
98359
93547
93120
98997
99065
97926
99050
95046
96687
98137
97249
97530
96983
98126
89892
94397
98111
96471
95754
99320
97511
95029
96780
93937
97095
97566
97024
99338
97729
99722
97152
98216
95895
97942
98980
99845
96992
97397
99255
97894
...

result:

ok 

Test #22:

score: 7
Accepted
time: 119ms
memory: 38696kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
100000
0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 ...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
34862
31357
15637
16893
7670
123
17919
20936
7467
18723
34082
1835
18668
23866
630
26206
40304
6217
25617
18490
11507
39163
5570
16345
4695
30449
15992
13307
5315
5393
8864
29876
34139
3227
28910
11628
2250
38538
12586
299
1066
8238
40627
7418
7600
3123
18111
9012...

result:

ok 

Subtask #4:

score: 0
Skipped

Dependency #2:

0%

Subtask #5:

score: 0
Wrong Answer

Test #31:

score: 8
Accepted
time: 36ms
memory: 11096kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
200000
1 7 0 4
3 4 3 4
3 6 2 5
4 5 6 7
5 7 2 8
0 6 4 7
0 5 6 7
1 3 9 9
6 9 1 7
2 9 4 6
4 4 6 7
0 1 8 8
7 7 0 3
0 4 1 7
2 2 0 9
3 9 4 6
3 9 0 9
1 8 4 6
4 5 5 7
0 6 2 3
2 3 0 6
1 9 8 8
2 4 3 4
3 6 2 9
3 9 2 7
1 3 0 3
0 8 2 4
3...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
14
2
8
2
10
12
5
2
14
12
1
0
2
14
4
10
32
12
3
6
6
4
3
16
21
5
12
6
7
11
12
3
7
3
6
15
6
4
6
8
15
24
2
5
11
8
16
3
4
12
4
9
23
1
2
5
6
4
1
4
4
3
6
4
18
32
10
2
7
7
5
12
11
7
4
4
10
6
4
16
8
13
8
3
3
8
21
1
2
3
6
14
21
14
9
2
3
2
4
16
20
7
3
5
3
15
16
8
36
7
6
7
9
...

result:

ok 

Test #32:

score: 0
Wrong Answer
time: 218ms
memory: 65764kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
199999
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
16240197828
5504516736
1304777585
7145733168
14459404010
16961283306
13836109275
2535955110
1808955276
3994720008
14024399491
2725721152
327774057
1594060240
1313264288
11182225230
6143547808
17536860250
9700222640
16331434190
3109293765
3595751108
749424005
19807...

result:

wrong answer 3rd lines differ - on the 1st token, expected: '8120124544', found: '16240197828'

Subtask #6:

score: 0
Wrong Answer

Test #42:

score: 0
Wrong Answer
time: 255ms
memory: 65720kb

input:

njJ9Z7VxxKGR6SUcJMgdzy3qMz4JZ1Tq
199999
0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 0 0 0 0 1 0 1 ...

output:

Wm5rkGNobnYjFI7TIY17RAm6FAQ2LlO9
OK
0
1
0
2
0
2
1
0
1
2
2
1
0
1
1
2
2
1
1
1
2
1
2
1
1
2
0
1
1
1
0
1
1
1
2
1
1
2
2
1
2
0
2
1
0
0
0
1
1
1
1
1
0
0
2
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
2
0
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
2
2
1
2
0
0
2
0
0
1
1
0
2
0
1
1
1
0
2
2
1
0
1
2
2
1
1
1
2
0
2
0
2
...

result:

wrong answer 6th lines differ - on the 1st token, expected: '1', found: '2'

Subtask #7:

score: 0
Skipped

Dependency #3:

100%
Accepted

Dependency #6:

0%

Subtask #8:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%