QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#557190#9240. Mosaiczhouhuanyi#5 89ms35528kbC++171.7kb2024-09-11 07:57:102024-09-11 07:57:10

Judging History

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

  • [2024-09-11 07:57:10]
  • 评测
  • 测评结果:5
  • 用时:89ms
  • 内存:35528kb
  • [2024-09-11 07:57:10]
  • 提交

answer

#include "mosaic.h"
#include<iostream>
#include<cstdio>
#include<vector>
#define N 200000
using namespace std;
int n,s[N+1],s2[N+1],s3[N+1],s4[N+1],s5[N+1],s6[N+1];
long long s7[N+1],s8[N+1];
int calc(int x,int y)
{
	return (!x)&&(!y);
}
vector<int>p[N+1];
long long solve(int x,int y)
{
	if (x<0||y<0) return 0;
	long long res=0;
	if (x>=0) res+=s[y];
	if (y>=0) res+=s2[x];
	if (x>=1) res+=s3[y];
	if (y>=1) res+=s4[x];
	if (x>=2)
	{
		int ps=max(y-(x-2),1);
		res+=1ll*s5[ps]*(x-1)+1ll*(s5[n-1]-s5[ps])*(y+1)-(s7[n-1]-s7[ps]);
	}
	if (y>=2)
	{
		int ps=max(x-(y-2),1);
		res+=1ll*s6[ps]*(y-1)+1ll*(s6[n-1]-s6[ps])*(x+1)-(s8[n-1]-s8[ps]);
	}
	return res;
}
std::vector<long long> mosaic(std::vector<int> X, std::vector<int> Y,
                              std::vector<int> T, std::vector<int> B,
                              std::vector<int> L, std::vector<int> R){
	vector<long long>C(T.size());
	n=X.size();
	for (int i=0;i<n;++i)
	{
		if (i<=2) p[i].resize(n);
		else p[i].resize(3);
	}
	for (int i=0;i<n;++i) p[0][i]=X[i],p[i][0]=Y[i];
	for (int i=1;i<n;++i)
		for (int j=1;j<((i<=2)?n:3);++j)
			p[i][j]=calc(p[i-1][j],p[i][j-1]);
	s[0]=p[0][0];
	for (int i=1;i<n;++i) s[i]=s[i-1]+p[0][i],s2[i]=s2[i-1]+p[i][0];
	if (n>=2)
	{
		s3[1]=p[1][1];
		for (int i=2;i<n;++i) s3[i]=s3[i-1]+p[1][i],s4[i]=s4[i-1]+p[i][1];
	}
	if (n>=3)
	{
		s5[2]=p[2][2];
		for (int i=3;i<n;++i) s5[i]=s5[i-1]+p[2][i],s6[i]=s6[i-1]+p[i][2];
		s7[2]=p[2][2]*2ll;
		for (int i=3;i<n;++i) s7[i]=s7[i-1]+1ll*p[2][i]*i,s8[i]=s8[i-1]+1ll*p[i][2]*i;
	}
	for (int i=0;i<T.size();++i) C[i]=solve(B[i],R[i])-solve(T[i]-1,R[i])-solve(B[i],L[i]-1)+solve(T[i]-1,L[i]-1);
	return C;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 5
Accepted

Test #1:

score: 5
Accepted
time: 2ms
memory: 8864kb

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: 2ms
memory: 11696kb

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: 2ms
memory: 8828kb

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: 12572kb

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: 2ms
memory: 8872kb

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: 2ms
memory: 9268kb

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: 14336kb

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: 2ms
memory: 9392kb

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: 14136kb

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: 12076kb

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: 0ms
memory: 11876kb

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
1078
9530
897
428
10378
1260
1733
4327
4343
1864
34
430
709
10008
5295
625
39
10
196
416
3048
87
4065
49
1368
1220
80
1440
1083
5053
5561
2680
56
2539
1107
57
3705
1996
327
2789
432
1542
571
1643
756
5253
1931
1934
245
3545
2026
4364
935
1506
1992
1815
75
9847
127...

result:

wrong answer 4th lines differ - on the 1st token, expected: '5062', found: '9530'

Subtask #3:

score: 0
Wrong Answer

Test #18:

score: 0
Wrong Answer
time: 77ms
memory: 35528kb

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:

wrong answer 15617th lines differ - on the 1st token, expected: '98336', found: '-8887580608'

Subtask #4:

score: 0
Skipped

Dependency #2:

0%

Subtask #5:

score: 0
Wrong Answer

Test #31:

score: 0
Wrong Answer
time: 34ms
memory: 20004kb

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
25
2
16
2
14
18
7
2
16
17
1
0
3
26
7
10
41
17
3
11
11
4
8
24
30
8
20
6
16
11
6
4
29
-12
8
24
6
4
11
12
12
30
2
11
11
8
20
4
5
18
4
12
32
1
8
11
6
4
1
5
19
4
11
5
27
48
35
2
16
9
8
20
20
7
22
5
10
11
5
12
14
17
12
3
3
8
30
1
-1
6
6
40
30
39
9
2
4
2
5
20
45
12
3
-7
...

result:

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

Subtask #6:

score: 0
Wrong Answer

Test #42:

score: 0
Wrong Answer
time: 89ms
memory: 35288kb

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
1
0
1
0
0
1
1
1
1
0
1
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
0
0
1
0
1
0
1
1
1
1
1
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
0
1
0
1
0
1
...

result:

wrong answer 142345th lines differ - on the 1st token, expected: '0', found: '4484'

Subtask #7:

score: 0
Skipped

Dependency #3:

0%

Subtask #8:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%