QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#69498#2562. Fake Plastic Trees 2liuhengxiWA 25ms45468kbC++142.4kb2022-12-27 22:53:162022-12-27 22:53:18

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-12-27 22:53:18]
  • 评测
  • 测评结果:WA
  • 用时:25ms
  • 内存:45468kb
  • [2022-12-27 22:53:16]
  • 提交

answer

// created:  Dec/24/2022 11:51:02
#include<cstdio>
#include<cstring>
#include<vector>
#define F(i,l,r) for(int i=l,i##_end=r;i<i##_end;++i)
using namespace std;
template<typename T>void readmain(T &x)
{
	bool neg=false;
	unsigned int c=getchar();
	for(;(c^48)>9;c=getchar())if(c=='-')neg=true;
	for(x=0;(c^48)<10;c=getchar())x=(x<<3)+(x<<1)+(c^48);
	if(neg)x=-x;
}
template<typename T>T& read(T &x){readmain(x);return x;}
template<typename T,typename ...Tr>void read(T &x,Tr&... r){readmain(x);read(r...);}
constexpr int N=1005,K=52;
long long dif;
void add(long long a[2],const long long &b)
{
	if(~a[1])a[0]=min(a[0],b);
	else a[0]=b;
	a[1]=max(a[1],b);
}
void convolution(long long a[K][2],int n,long long b[K][2],int m,long long c[K][2])
{
	int ij=0;
	long long t,l;
	F(i,0,n+1)if(~a[i][0])F(j,(ij=i,l=(long long)ij*dif,0),m+1)if(~b[j][0])
	{
		l+=dif;
		t=a[i][0]+b[j][0];add(c[ij+(t>=l)],t);
		t=a[i][0]+b[j][1];add(c[ij+(t>=l)],t);
		t=a[i][1]+b[j][0];add(c[ij+(t>=l)],t);
		t=a[i][1]+b[j][1];add(c[ij+(t>=l)],t);
		++ij;
	}
}
int tt,n,k,siz[N];
bool ans[K];
long long a[N],l,r,f[N][K][K][2],t[K][K][2];
vector<int> adj[N];
void dfs(int u,int fa)
{
	memset(f[u],0xff,sizeof(long long)*2*K*(k+1));
	f[u][0][0][0]=f[u][0][0][1]=0;
	siz[u]=0;
	for(int v:adj[u])if(v!=fa)
	{
		dfs(v,u);
		memset(t,0xff,sizeof(long long)*2*K*(k+1));
		F(i,0,min(siz[u],k)+1)F(j,0,min(siz[v],k-i)+1)convolution(f[u][i],i,f[v][j],j,t[i+j]);
		memcpy(f[u],t,sizeof(long long)*2*K*(k+1));
		a[u]+=a[v];
		siz[u]+=siz[v];
	}
	++siz[u];
	if(u)
	{
		for(int i=min(siz[u],k);~--i;)
		{
			long long aa=a[u]-(i+1)*l;
			if(aa<0||aa>(i+1)*dif*(l!=r))continue;
			F(j,0,i+1)if(~f[u][i][j][0])
			{
				long long x=a[u]-f[u][i][j][1]-i*l,y=a[u]-f[u][i][j][0]-i*l;
				if(y>=l&&x<=r)
				{
					add(f[u][i+1][aa/dif],aa);
					break;
				}
			}
		}
	}
	else
	{
		for(int i=min(siz[u],k)+1;~--i;)F(j,0,i+1)if(~f[u][i][j][0])
		{
			long long x=a[u]-f[u][i][j][1]-i*l,y=a[u]-f[u][i][j][0]-i*l;
			if(y>=l&&x<=r)ans[i]=true;
		}
	}
}
int main()
{
	read(tt);
	while(tt--)
	{
		read(n,k,l,r);dif=r-l;dif+=!dif;
		F(i,0,n)read(a[i]);
		F(i,0,n)adj[i].clear();
		F(i,0,n-1)
		{
			int u,v;read(u,v);--u,--v;
			adj[u].emplace_back(v);
			adj[v].emplace_back(u);
		}
		memset(ans,0,sizeof ans);
		dfs(0,0);
		F(i,0,k+1)putchar(48+ans[i]);
		puts("");
	}
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 2748kb

input:

3
4 3 1 2
1 1 1 1
1 2
2 3
3 4
4 3 1 2
1 1 1 1
1 2
1 3
1 4
4 3 0 0
1 1 1 1
1 2
1 3
1 4

output:

0111
0011
0000

result:

ok 3 tokens

Test #2:

score: 0
Accepted
time: 3ms
memory: 2992kb

input:

100
10 9 18 50
18 0 9 8 11 11 13 16 9 2
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 38 50
4 10 11 13 19 6 14 14 20 14
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 26 50
6 1 12 7 1 12 20 2 0 12
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 29 50
16 13 1 17 20 15 0 3 6 7
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10...

output:

0011000000
0010000000
0100000000
0010000000
0011111000
0111100000
0010000000
0010000000
0100000000
0011111000
0110000000
0011000000
0011111100
0100000000
0010000000
0010000000
0010000000
0011000000
0111000000
0011100000
0100000000
0100000000
0100000000
0011000000
0011000000
0011111000
0011111110
001...

result:

ok 100 tokens

Test #3:

score: 0
Accepted
time: 0ms
memory: 2892kb

input:

100
10 9 23 50
13 10 9 11 14 13 11 9 14 14
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 11 50
11 9 9 9 14 7 9 12 14 5
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 27 50
14 13 9 13 9 13 9 14 14 5
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 41 50
8 10 10 13 8 6 12 7 10 5
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
1...

output:

0011000000
0011110000
0010000000
0100000000
0011110000
0100000000
0011110000
0011110000
0011100000
0100000000
0011111100
0100000000
0011100000
0011100000
0100000000
0100000000
0011111000
0011000000
0100000000
0011000000
0011111100
0011100000
0100000000
0100000000
0100000000
0011111000
0011111111
010...

result:

ok 100 tokens

Test #4:

score: 0
Accepted
time: 3ms
memory: 2884kb

input:

100
10 9 17 50
9 8 10 12 12 10 12 10 9 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 19 50
10 9 8 10 12 12 8 11 12 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 46 50
8 8 10 10 10 8 9 10 11 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 9 50
9 8 11 10 11 10 10 11 11 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 ...

output:

0011100000
0011000000
0100000000
0011111110
0011111000
0011111111
0011111000
0100000000
0011110000
0011100000
0100000000
0011100000
0011100000
0100000000
0011110000
0011110000
0011100000
0100000000
0011100000
0011111111
0100000000
0011100000
0011000000
0100000000
0011111100
0011110000
0100000000
001...

result:

ok 100 tokens

Test #5:

score: 0
Accepted
time: 2ms
memory: 2940kb

input:

100
10 9 10 50
10 11 11 10 9 9 11 9 11 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 47 50
9 9 9 11 9 10 10 10 10 9
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 49 50
9 10 9 11 11 9 11 10 10 9
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 19 50
10 9 11 11 10 11 11 9 9 11
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10...

output:

0011111100
0100000000
0100000000
0011100000
0011110000
0011111111
0011110000
0100000000
0010000000
0100000000
0011111000
0011100000
0100000000
0011110000
0011110000
0011111000
0011111111
0011110000
0011111000
0011110000
0011111100
0011100000
0011000000
0011111111
0100000000
0011111111
0100000000
001...

result:

ok 100 tokens

Test #6:

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

input:

100
10 9 50 50
50 50 50 50 50 50 50 50 50 50
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 50 50
50 50 50 50 50 50 50 50 50 50
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 50 50
50 50 50 50 50 50 50 50 50 50
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 50 50
50 50 50 50 50 50 50 50 50 50
1 2
2 3
3 4
4 5
5 6
6...

output:

0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
000...

result:

ok 100 tokens

Test #7:

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

input:

100
10 9 1793281831312430 2579712950976669
883262428445148 926941407766037 874610589009581 918671242302849 917202064660727 848094660280817 810513162735522 862049976415823 844577745576407 873085228984439
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 1890762965379103 2701769025604615
804306683243252 81402...

output:

0001000000
0001000000
0000100000
0000110000
0001111000
0000100000
0001111111
0000111100
0000111110
0000110000
0001111111
0000111000
0001100000
0001000000
0001100000
0001000000
0000111000
0001111100
0001000000
0001111110
0000110000
0000111100
0001000000
0001111111
0001100000
0001000000
0001000000
000...

result:

ok 100 tokens

Test #8:

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

input:

100
10 9 930392660078775 2806634959843587
930392660078775 905044994636391 985788965763349 912985101122684 987674992837788 921047708030944 933871032635272 924074917003015 906465081663363 976094961177209
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 1883664986961563 2834193280785472
958998107162380 924666...

output:

0000110000
0001000000
0000110000
0001110000
0001000000
0000111100
0001000000
0001000000
0001000000
0001000000
0001000000
0001100000
0001000000
0000111000
0001111000
0001000000
0001000000
0001111110
0001111110
0001000000
0001100000
0001110000
0001000000
0001110000
0000110000
0001110000
0001000000
000...

result:

ok 100 tokens

Test #9:

score: 0
Accepted
time: 0ms
memory: 3000kb

input:

100
10 9 999994984493978 2999942395429624
999994984493978 999939388770002 999967949978069 999931885129608 999990661850258 999984525481315 999963292059809 999975054238715 999981969673638 999985371517271
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 999995366940426 2999765738847089
999995366940426 9999556...

output:

0001100000
0000100000
0001000000
0000110000
0001111110
0000110000
0000111100
0001100000
0001111100
0000110000
0001100000
0000111110
0001100000
0001110000
0001111110
0000111000
0001110000
0001100000
0001100000
0000100000
0001110000
0001000000
0001000000
0001111110
0001111110
0000111110
0000100000
000...

result:

ok 100 tokens

Test #10:

score: 0
Accepted
time: 4ms
memory: 2896kb

input:

100
10 9 999999979118283 2999999819537067
999999979118283 999999975440440 999999958461371 999999979080922 999999991176682 999999985652594 999999984182267 999999928654853 999999990678448 999999900203766
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 999999951922360 2999999720940184
999999951922360 9999999...

output:

0000110000
0000111000
0001000000
0000100000
0001100000
0001100000
0001111000
0001110000
0001000000
0001000000
0000111000
0001110000
0001000000
0001111100
0001000000
0000110000
0000100000
0000110000
0001000000
0000110000
0001111111
0001111100
0001111100
0001000000
0001111100
0001110000
0000100000
000...

result:

ok 100 tokens

Test #11:

score: 0
Accepted
time: 2ms
memory: 2940kb

input:

100
10 9 999999999999480 2999999999998668
999999999999480 999999999999623 999999999999311 999999999999062 999999999999032 999999999999420 999999999999039 999999999999706 999999999999079 999999999999883
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 999999999999062 2999999999997761
999999999999062 9999999...

output:

0001110000
0000111110
0000111000
0000111100
0001110000
0000110000
0001100000
0001000000
0000111100
0000100000
0001111000
0001110000
0001111100
0001000000
0000111000
0000110000
0001000000
0001000000
0000110000
0000110000
0001110000
0001111110
0001000000
0001100000
0000111000
0001111100
0001000000
000...

result:

ok 100 tokens

Test #12:

score: 0
Accepted
time: 3ms
memory: 3100kb

input:

100
10 9 809217843509205176 1000000000000000000
819047520089857618 993247146028854493 979024090970900146 946916558454439857 809217843509205176 908857838415646655 809854521131167579 931917514552091282 890253286257158425 872828244740194237
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 810517126615250421 1...

output:

0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
000...

result:

ok 100 tokens

Test #13:

score: 0
Accepted
time: 0ms
memory: 3000kb

input:

100
10 9 990469099227929497 1000000000000000000
997087653799379867 998602320157374700 997500855340614575 998172426490578932 998173419961973183 997315871904813866 990469099227929497 991331794758268536 996329227071528815 994942302495919962
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 990138767121283623 1...

output:

0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
000...

result:

ok 100 tokens

Test #14:

score: 0
Accepted
time: 3ms
memory: 3096kb

input:

100
10 9 1000000000000000000 1000000000000000000
1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 9 100000000...

output:

0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
0000000001
000...

result:

ok 100 tokens

Test #15:

score: 0
Accepted
time: 13ms
memory: 45236kb

input:

1
1000 50 3 50
0 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 0 0 0 1...

output:

000000000011111111111111111111111111111111111111111

result:

ok "000000000011111111111111111111111111111111111111111"

Test #16:

score: 0
Accepted
time: 24ms
memory: 45208kb

input:

1
1000 50 16 50
0 2 1 2 0 0 0 1 0 2 1 0 2 2 1 2 2 2 1 0 0 1 1 0 2 1 2 1 2 1 0 0 1 1 0 2 2 2 2 0 0 2 2 2 1 1 0 1 1 1 1 1 0 2 1 1 2 2 2 0 0 2 0 0 1 1 0 0 2 1 2 1 1 1 2 0 0 2 2 2 1 1 1 0 1 0 1 1 2 2 0 0 2 0 1 2 2 0 0 0 2 2 1 2 1 0 2 1 1 0 1 0 0 1 1 0 0 1 0 0 2 2 2 0 0 1 2 2 1 1 2 2 0 2 2 0 1 0 1 0 1 1 ...

output:

000000000000000000001111111111111111111111111111111

result:

ok "000000000000000000001111111111111111111111111111111"

Test #17:

score: 0
Accepted
time: 20ms
memory: 45256kb

input:

1
1000 50 12 50
3 0 3 3 0 1 1 0 0 1 3 2 2 0 0 1 2 1 0 2 2 1 3 2 0 3 3 1 1 3 2 3 3 2 2 2 1 3 2 3 2 1 0 0 2 3 2 0 1 2 3 3 1 3 1 2 0 3 1 1 3 0 0 0 1 3 2 1 2 0 1 0 1 0 2 2 3 0 1 3 1 3 0 0 1 0 0 1 1 1 0 0 3 1 0 0 0 3 3 3 1 1 1 1 1 2 2 3 1 1 1 1 2 3 2 3 3 0 1 0 0 3 0 2 0 2 1 0 0 3 1 1 2 1 2 1 3 0 3 3 1 0 ...

output:

000000000000000000000000000000111111111111111111111

result:

ok "000000000000000000000000000000111111111111111111111"

Test #18:

score: 0
Accepted
time: 25ms
memory: 45460kb

input:

1
1000 50 42 50
1 1 2 0 2 2 2 3 1 4 1 2 2 2 3 4 3 2 3 0 2 1 4 4 2 1 1 3 3 4 3 2 1 1 0 3 2 1 4 3 4 0 0 3 3 2 1 0 1 0 0 4 1 3 3 1 4 0 0 1 4 1 3 2 4 2 4 4 3 4 0 1 0 1 1 1 0 4 3 3 1 2 4 3 4 3 1 2 1 4 3 0 3 4 1 4 4 0 0 2 1 1 4 3 3 2 4 4 1 1 3 3 1 1 4 3 2 3 0 2 4 4 4 1 0 3 2 1 0 3 4 4 3 4 0 2 2 0 1 1 4 2 ...

output:

000000000000000000000000000000000000000000111111000

result:

ok "000000000000000000000000000000000000000000111111000"

Test #19:

score: 0
Accepted
time: 25ms
memory: 45468kb

input:

1
1000 50 44 50
3 2 3 2 1 2 1 3 3 1 2 2 2 2 3 1 2 3 1 2 3 1 1 1 3 1 3 2 2 1 3 1 2 1 1 2 1 1 3 3 3 2 3 2 3 2 1 1 1 2 1 3 1 2 3 1 2 2 1 2 3 2 2 3 2 2 1 2 1 1 2 2 3 2 2 1 2 3 1 3 3 2 3 3 2 1 1 2 2 1 3 2 2 3 3 3 3 3 3 1 3 2 2 2 1 2 3 1 3 2 1 3 3 1 1 2 1 3 2 2 2 1 2 2 1 1 3 1 2 1 3 3 2 1 2 3 1 2 1 1 3 3 ...

output:

000000000000000000000000000000000000000011111000000

result:

ok "000000000000000000000000000000000000000011111000000"

Test #20:

score: 0
Accepted
time: 13ms
memory: 45404kb

input:

1
1000 50 50 50
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50...

output:

000000000000000000000000000000000000000000000000000

result:

ok "000000000000000000000000000000000000000000000000000"

Test #21:

score: 0
Accepted
time: 13ms
memory: 45356kb

input:

1
1000 50 9067775517233793 27568152627261704
824143955544587 927579399534651 981801757217093 873773052413201 960257095164910 952261320093379 822434086320207 800147963710845 932219523834279 993157363400641 894323153846989 891533209662841 816940466685934 850744085351539 876674222750886 984981230477671...

output:

000000000000000000000000000000000111111111111111111

result:

ok "000000000000000000000000000000000111111111111111111"

Test #22:

score: 0
Accepted
time: 13ms
memory: 45396kb

input:

1
1000 50 10392950962364217 29677624285662191
952249828947457 989340248861758 922815904253124 988185672550932 901211610272775 916246836895084 911821518650392 969679688724958 917576531870585 962895648801013 960927472536139 985041956652122 955734234153218 924834554870256 927427626795671 99743959744383...

output:

000000000000000000000000000000001111111111111111111

result:

ok "000000000000000000000000000000001111111111111111111"

Test #23:

score: 0
Accepted
time: 8ms
memory: 45356kb

input:

1
1000 50 27998332064717309 30998401244356277
999923676529412 999964127454061 999901368076070 999965096214353 999973159921658 999940703209340 999901590913383 999994884859099 999948950882947 999900197152876 999903336019181 999974160658209 999963256360445 999962463135617 999900477973929 99993606716768...

output:

000000000000000000000000000000001110000000000000000

result:

ok "000000000000000000000000000000001110000000000000000"

Test #24:

score: 0
Accepted
time: 24ms
memory: 45344kb

input:

1
1000 50 4999999774482822 30999998337007262
999999966252791 999999947367745 999999905851118 999999999785542 999999955225626 999999997492014 999999907762313 999999913104525 999999962556159 999999998434960 999999943955799 999999938987651 999999919770925 999999918953335 999999940886692 999999936772000...

output:

000000000000000000000000000000000111111111111111111

result:

ok "000000000000000000000000000000000111111111111111111"

Test #25:

score: 0
Accepted
time: 20ms
memory: 45284kb

input:

1
1000 50 15999999999993257 30999999999985579
999999999999979 999999999999771 999999999999854 999999999999281 999999999999698 999999999999830 999999999999712 999999999999139 999999999999804 999999999999673 999999999999099 999999999999059 999999999999374 999999999999943 999999999999373 99999999999966...

output:

000000000000000000000000000000001111111111111111111

result:

ok "000000000000000000000000000000001111111111111111111"

Test #26:

score: -100
Wrong Answer
time: 15ms
memory: 45468kb

input:

1
1000 50 800012418361959872 1000000000000000000
947369818918026096 942007600439311022 918881052204508717 898991866868830953 878449678306763381 921674051503661838 867715520616597795 880692389166218687 831246240027360885 977061124063742870 948796346350621716 937890416222692974 804321876310495686 8665...

output:

000000000000011000000000000000000111000000000000000

result:

wrong answer 1st words differ - expected: '000000000000000000000000000000000000000000000000000', found: '000000000000011000000000000000000111000000000000000'