UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#204701#3624. 小W的滑梯OccDreamer10010051ms218048kbC++115.4kb2024-06-08 12:47:492024-06-08 13:18:49

answer

//OccDreamer
#include<bits/stdc++.h>

#define vc vector
#define db double
#define fi first
#define se second
#define ll long long
#define mk make_pair
#define pb push_back
#define RI register int
#define PI pair<int,int>
#define ull unsigned long long
#define err cerr << "   -_-   " << endl
#define debug cerr << " ------------------- " << endl

#define input(x) freopen(#x".in","r",stdin)
#define output(x) freopen(#x".out","w",stdout)

#define NO puts("No")
#define YES puts("Yes")

//#define OccDreamer
//#define int long long

using namespace std;

namespace IO {
	int len = 0;
	char ibuf[(1 << 20) + 1], *iS, *iT, out[(1 << 25) + 1];
	#define gh() (iS == iT ? iT = (iS = ibuf) + fread(ibuf, 1, (1 << 20) + 1, stdin), (iS == iT ? EOF : *iS++) : *iS++) 
	#define reg register 
	inline int read() { 
		reg char ch = gh(); reg int x = 0; reg char t = 0; 
		while (ch < '0' || ch > '9') t |= ch == '-', ch = gh(); 
		while (ch >= '0' && ch <= '9') x = x * 10 + (ch ^ 48), ch = gh(); 
		return t ? -x : x; 
	} 
	inline void putc(char ch) { out[len++] = ch; } 
	template <class T> inline void write(T x) { if (x < 0) putc('-'), x = -x; if (x > 9) write(x / 10); out[len++] = x % 10 + 48; } 
	inline void flush() { fwrite(out, 1, len, stdout); len=0;} 
}using namespace IO;

inline void sprint(int x){write(x); putc(32); flush();}
inline void eprint(int x){write(x); putc(10); flush();}

const int MAXN = 5e5+5;
const int mod = 998244353;

int aa[MAXN], bb[MAXN], cc[MAXN], dd[MAXN];
int de[MAXN], lg[MAXN], S[2], T[2], val[MAXN];
int n, q, a[MAXN], tot, y[MAXN], anc[22][MAXN], cur=1, Q[MAXN<<2], qcnt;
int tree[MAXN], root[MAXN], pos[MAXN], lc[MAXN*21], rc[MAXN*21], sum[MAXN*21], all[MAXN<<2];

struct Query{
	int x, rk, id;
	inline bool friend operator < (const Query &x, const Query &y){
		return x.x<y.x;
	}
}qq[MAXN<<2];

inline int lowbit(int x) {
	return x & -x;
}
inline void add(int x, int v) {
	while(x<=n+1) tree[x]+=v, x+=lowbit(x);
}
inline int ask(int x) {
	int s=0;
	while(x) s+=tree[x], x^=lowbit(x);
	return s;
}

inline void build(int &now, int pre, int l, int r, int pos, int v) {
	now=++tot;
	lc[now]=lc[pre];
	rc[now]=rc[pre];
	sum[now]=sum[pre]+1;
	if(l==r) return ;
	int mid=(l+r)>>1;
	if(pos<=mid) build(lc[now],lc[pre],l,mid,pos,v);
	else build(rc[now],rc[pre],mid+1,r,pos,v);
	return ;
}

inline int ask(int now, int l, int r, int rk) {
	if(rk==0 || rk>sum[now]) return 0;
	int mid;
	while(l!=r) {
		mid=(l+r)>>1;
		if(sum[lc[now]]>=rk) now=lc[now], r=mid;
		else rk-=sum[lc[now]], l=mid+1, now=rc[now];
	}
	return l;
}

inline int F(int X, int Y) {
	int s=a[ask(root[X-1],1,n,X-Y)];
	int t=a[ask(root[X-1],1,n,X-Y+1)];
	return max(s,t);
}

inline int FA(int X, int Y) {
	if(y[X]==Y) return X;
	return F(X,Y);
}

inline int fa(int x) {
	if(x==1) return 0;
	int X=x, Y=y[x];
	return F(X,Y);
}

inline void prework() {
	for(int i=1; i<=n; ++i) {
		int x=a[i];
		int u=x-ask(x);
		y[x]=u;
		add(a[i]+1,1);
	}
	int A, B;
	for(int i=1; i<=n; ++i) {
		val[i]=ask(root[i-1],1,n,i-y[i]+1);
		if(i==1) anc[0][i]=0;
		else {
			A=a[ask(root[i-1],1,n,i-y[i])];
			B=a[val[i]];
			anc[0][i]=max(A,B);
		}
		de[i]=de[anc[0][i]]+1;
	}
	for(int i=1; i<=21; ++i)
		for(int j=1; j<=n; ++j) anc[i][j]=anc[i-1][anc[i-1][j]];
	return ;
}

inline bool Anc(int a, int b, int c, int d) {
	return ask(root[a-1],1,n,a-b+1)==ask(root[c-1],1,n,c-d+1);
}

inline PI Solve(int a, int b, int c, int d) {
	S[0]=Q[cur++];
	S[1]=Q[cur++];
	T[0]=Q[cur++];
	T[1]=Q[cur++];
	int A, B;
	if(y[a]==b) A=a;
	else A=max(::a[S[0]],::a[S[1]]);
	if(y[c]==d) B=c;
	else B=max(::a[T[0]],::a[T[1]]);
	if(A==B) {
		if(S[0]==T[0]) {
			if(a>c) return mk(c,d);
			return mk(a,b);
		}
		return mk(A,y[A]);
	}
	if(de[A]>de[B]) swap(A,B), swap(a,c), swap(b,d), swap(S[0],T[0]), swap(S[1],T[1]);
	for(int i=lg[de[B]-de[A]]; i>=0; --i)
		if(de[anc[i][B]]>de[A]) B=anc[i][B];
	if(A==anc[0][B] && S[0]==ask(root[B-1],1,n,B-y[B]+1)) return mk(a,b);
	if(de[B]>de[A]) B=anc[0][B];
	if(A==B) return mk(A,y[A]);
	for(int i=lg[de[A]]; i>=0; --i)
		if(anc[i][A]!=anc[i][B]) A=anc[i][A], B=anc[i][B];
	A=anc[0][A];
	return mk(A,y[A]);
}

inline void Add(int x){
	int l=1, r=n, mid, p=1;
	while(l!=r){
		all[p]++;
		mid=(l+r)>>1;
		if(x<=mid) r=mid, p=p<<1;
		else p=p<<1|1, l=mid+1;
	}
	all[p]++;
	return ;
}

inline int Ask(int rk){
	int l=1, r=n, mid, p=1;	
	if(rk==0 || rk>all[1]) return 0;
	while(l!=r) {
		mid=(l+r)>>1;
		if(all[p<<1]>=rk) p=p<<1, r=mid;
		else rk-=all[p<<1], l=mid+1, p=p<<1|1;
	}
	return l;
}

signed main() {
	n=read();
	for(int i=2; i<=n+2; ++i) lg[i]=lg[i>>1]+1;
	for(int i=1; i<=n; ++i) a[i]=read(), pos[a[i]]=i;
	for(int i=1; i<=n; ++i) build(root[i],root[i-1],1,n,pos[i],1);
	prework();
	q=read(); int now=1;
	for(int i=1;i<=q;++i) {
		int a, b, c, d;
		a=read()+1, b=read()+1, c=read()+1, d=read()+1;
		aa[i]=a, bb[i]=b, cc[i]=c, dd[i]=d;
		qq[++qcnt]=Query{a-1,a-b+1,now}; ++now;
		qq[++qcnt]=Query{a-1,a-b,now}; ++now;
		qq[++qcnt]=Query{c-1,c-d+1,now}; ++now;
		qq[++qcnt]=Query{c-1,c-d,now}; ++now;
	}
	sort(qq+1,qq+1+qcnt); now=1;
	for(int i=1;i<=n+1;++i){
		while(now<=qcnt && qq[now].x==i-1){
			Q[qq[now].id]=Ask(qq[now].rk);
			++now;	
		}
		if(i!=n+1) Add(pos[i]);
	}
	for(int i=1;i<=q;++i){
		PI ans=Solve(aa[i],bb[i],cc[i],dd[i]);
		sprint(ans.fi-1), eprint(ans.se-1);	
	}
	return 0;
}

详细

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 15
Accepted

Test #1:

score: 15
Accepted
time: 0ms
memory: 1308kb

input:

3
2 3 1
5
3 3 3 0
2 2 2 1
1 0 3 1
3 1 3 2
2 2 2 2

output:

0 0
1 1
0 0
2 1
2 2

result:

ok 10 numbers

Test #2:

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

input:

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

output:

3 0
0 0
0 0
3 0
0 0
3 0
5 1
3 0
9 1
2 0

result:

ok 20 numbers

Test #3:

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

input:

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

output:

1 0
1 0
1 0
0 0
1 0
1 0
2 0
2 0
1 0
1 0

result:

ok 20 numbers

Test #4:

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

input:

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

output:

1 0
0 0
1 0
10 3
0 0
1 0
3 1
1 0
0 0
0 0

result:

ok 20 numbers

Test #5:

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

input:

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

output:

7 0
8 1
6 0
4 0
3 0
5 2
0 0
1 1
2 2
0 0

result:

ok 20 numbers

Test #6:

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

input:

20
5 19 6 3 9 14 1 2 20 7 16 17 13 4 18 10 12 15 8 11
20
12 1 15 6
16 6 11 11
16 6 15 11
17 12 14 13...

output:

3 0
0 0
0 0
2 2
4 4
3 0
7 0
0 0
1 0
4 4
3 0
0 0
3 0
13 9
13 0
0 0
0 0
0 0
2 0
7 0

result:

ok 40 numbers

Test #7:

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

input:

20
4 1 2 3 5 6 8 7 9 11 12 10 15 16 13 14 18 19 17 20
20
16 5 20 18
16 3 17 15
20 4 18 15
17 2 17 14...

output:

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

result:

ok 40 numbers

Test #8:

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

input:

20
11 7 12 6 15 18 10 5 20 19 2 14 3 16 1 4 9 13 17 8
20
20 9 20 20
20 13 20 13
20 11 20 18
20 4 20 ...

output:

1 1
20 13
4 4
0 0
3 0
0 0
0 0
0 0
4 4
0 0
12 1
0 0
1 1
0 0
0 0
1 1
1 1
1 1
1 1
5 5

result:

ok 40 numbers

Test #9:

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

input:

20
1 2 4 3 7 6 5 8 11 12 9 10 16 14 15 13 18 19 17 20
20
20 1 20 2
20 2 20 3
20 3 20 4
20 4 20 5
20 ...

output:

16 0
18 1
17 1
12 0
14 1
13 1
15 3
9 0
8 0
11 2
10 2
7 0
4 0
5 1
6 2
2 0
3 1
1 0
0 0
2 0

result:

ok 40 numbers

Test #10:

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

input:

50
44 39 43 49 33 30 3 46 8 20 13 29 45 22 27 25 15 4 42 32 6 10 12 16 31 19 38 18 34 37 5 2 9 21 36...

output:

37 21
3 2
7 6
0 0
3 2
7 6
3 2
23 0
0 0
6 1
5 3
10 0
2 2
1 1
0 0
0 0
29 9
7 6
16 3
15 7
1 1
32 32
12 ...

result:

ok 100 numbers

Test #11:

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

input:

50
3 4 2 7 1 5 6 12 10 13 14 9 11 8 20 16 19 15 17 18 21 25 23 28 26 24 27 22 31 35 34 33 30 29 32 3...

output:

0 0
5 0
0 0
4 0
4 0
4 0
4 0
7 0
0 0
7 0
4 0
0 0
0 0
7 0
0 0
7 0
7 0
0 0
7 0
0 0
7 0
7 0
7 0
7 0
4 0
...

result:

ok 100 numbers

Test #12:

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

input:

50
45 35 25 13 22 48 2 29 19 20 30 50 12 44 33 16 31 41 47 1 10 24 21 36 7 46 11 27 43 26 40 15 6 49...

output:

8 0
0 0
0 0
45 23
2 0
8 0
30 20
0 0
0 0
2 0
0 0
29 22
2 0
5 3
5 3
0 0
1 1
0 0
0 0
0 0
2 0
0 0
5 3
1 ...

result:

ok 100 numbers

Test #13:

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

input:

50
7 2 4 3 5 6 1 13 8 11 9 10 14 12 19 15 16 18 21 20 17 26 22 23 25 24 28 27 33 30 35 31 32 29 34 3...

output:

47 0
43 0
45 1
48 3
46 2
42 0
44 2
35 0
41 1
37 1
40 2
38 2
39 3
36 1
33 0
28 0
31 1
30 1
34 4
29 1
...

result:

ok 100 numbers

Test #14:

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

input:

200
186 99 170 82 138 132 59 185 80 120 129 125 61 168 116 159 100 97 29 75 73 133 32 193 78 197 33 ...

output:

39 15
53 37
5 1
19 9
0 0
17 12
34 9
124 119
64 23
4 0
57 51
94 55
54 39
35 11
27 18
0 0
32 30
114 43...

result:

ok 400 numbers

Test #15:

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

input:

200
11 13 14 6 9 8 5 7 2 1 4 3 10 12 22 21 25 16 17 27 19 24 28 15 20 26 23 18 35 42 34 38 32 36 31 ...

output:

9 0
17 0
28 0
28 0
14 0
14 0
28 0
0 0
28 0
28 0
14 0
2 0
9 0
17 0
14 0
14 0
2 0
28 0
14 0
14 0
28 0
...

result:

ok 400 numbers

Test #16:

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

input:

200
105 170 149 121 45 113 69 88 87 28 172 53 156 200 59 180 195 44 7 57 65 134 34 75 21 114 31 85 1...

output:

0 0
0 0
124 82
0 0
2 1
1 0
1 0
0 0
3 3
8 4
32 20
0 0
10 6
3 3
3 3
0 0
1 0
0 0
0 0
0 0
3 3
8 4
0 0
16...

result:

ok 398 numbers

Test #17:

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

input:

199
9 12 14 1 7 11 10 4 6 3 8 5 13 2 21 15 28 25 19 26 24 23 27 22 17 20 18 16 33 34 39 32 31 37 41 ...

output:

198 1
197 1
182 0
193 1
187 1
191 2
185 1
184 1
183 1
186 4
192 7
190 6
195 10
194 10
188 6
189 7
17...

result:

ok 398 numbers

Test #18:

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

input:

297
71 279 17 139 233 258 218 135 270 137 183 165 2 243 234 199 46 105 94 100 212 264 195 242 74 200...

output:

178 74
174 134
29 13
55 22
12 2
107 93
106 21
20 4
16 1
17 15
175 63
81 64
5 1
272 53
30 8
32 4
55 2...

result:

ok 598 numbers

Test #19:

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

input:

298
17 11 8 3 16 4 1 15 9 6 10 7 14 2 13 12 5 33 30 20 18 27 24 22 32 25 26 21 23 34 28 29 19 31 45 ...

output:

18 0
18 0
18 0
0 0
18 0
18 0
35 0
4 0
0 0
18 0
0 0
0 0
51 0
18 0
0 0
49 0
18 0
34 0
4 0
52 0
0 0
18 ...

result:

ok 594 numbers

Test #20:

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

input:

297
279 205 276 265 248 130 232 120 237 74 12 190 147 17 46 126 185 123 100 253 257 18 16 170 282 27...

output:

0 0
2 2
1 1
10 7
0 0
5 4
297 7
0 0
0 0
0 0
0 0
3 0
2 2
7 7
11 11
0 0
2 2
0 0
0 0
31 16
2 2
7 7
2 2
7...

result:

ok 600 numbers

Test #21:

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

input:

297
17 8 5 16 9 13 11 3 12 6 4 7 15 1 14 10 2 27 21 20 26 23 19 32 29 30 34 25 22 28 31 33 24 18 50 ...

output:

290 0
296 2
293 2
294 3
289 0
291 2
295 6
287 0
286 0
280 0
276 0
284 2
278 1
279 2
274 0
275 1
283 ...

result:

ok 600 numbers

Subtask #2:

score: 20
Accepted

Test #22:

score: 20
Accepted
time: 4ms
memory: 2412kb

input:

2921
2026 1609 877 2798 2660 1175 229 2625 943 1818 1682 741 893 420 1720 2301 500 2274 44 306 1353 ...

output:

36 11
0 0
1 0
1 0
10 2
0 0
1 0
17 17
0 0
0 0
0 0
0 0
1 0
1 0
1 0
10 2
0 0
1 0
4 3
0 0
1 0
1 0
7 7
0 ...

result:

ok 5894 numbers

Test #23:

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

input:

2927
1710 818 2901 2211 2854 726 2008 1747 1578 2054 2199 1728 478 1296 1 356 2535 1496 1808 1706 25...

output:

220 76
7 0
2549 1288
2253 1752
2291 2047
140 70
2234 1604
2554 1529
1357 541
569 474
2891 854
190 10...

result:

ok 5880 numbers

Test #24:

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

input:

2949
871 990 1485 80 2581 288 2143 1390 1837 57 1490 1848 874 2388 2045 1037 141 1065 2695 1288 2001...

output:

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

result:

ok 5844 numbers

Test #25:

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

input:

2931
706 2701 1159 1105 2104 864 676 2647 2818 2554 930 2919 1896 940 1601 499 2703 470 1805 2470 26...

output:

2391 1
1363 1
417 0
882 1
1049 2
2070 5
1518 5
1581 6
343 0
2920 10
2472 10
2840 11
921 3
1608 9
371...

result:

ok 5888 numbers

Test #26:

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

input:

2934
26 19 38 53 30 48 35 18 43 6 11 17 24 44 29 51 39 13 9 28 33 3 32 15 4 8 40 27 16 31 54 21 23 4...

output:

857 41
2062 4
486 0
711 9
1793 0
656 3
992 917
1170 21
4 0
1797 2
1582 0
1923 17
2002 2
228 5
506 18...

result:

ok 5890 numbers

Test #27:

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

input:

2933
27 9 7 18 52 49 10 24 32 23 54 11 25 12 13 22 43 14 2 4 19 37 31 15 39 30 28 35 33 5 3 40 38 51...

output:

486 0
324 0
2106 0
272 0
541 0
1350 0
1459 0
541 0
810 0
1630 0
977 0
918 0
434 0
162 0
650 0
600 0
...

result:

ok 5872 numbers

Test #28:

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

input:

2973
1146 2257 1208 2822 1661 2959 1106 1706 2377 2300 2250 2845 1516 2021 163 290 1794 5 2368 1765 ...

output:

0 0
19 8
0 0
1 1
0 0
1 1
0 0
6 5
0 0
1 1
7 6
6 5
6 5
1 1
1 1
109 54
11 8
0 0
0 0
145 57
11 8
21 17
0...

result:

ok 5996 numbers

Test #29:

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

input:

3000
461 1146 2206 2558 967 2135 2701 321 850 1512 1024 733 565 1517 1522 179 1987 1664 2416 764 283...

output:

73 59
116 41
484 10
573 158
1186 76
529 60
608 243
1085 393
1025 238
379 155
2977 2809
25 3
1594 131...

result:

ok 5982 numbers

Test #30:

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

input:

2975
2474 449 1815 2306 164 1035 2625 2956 1206 1549 2583 2764 1579 553 1516 1588 2251 292 2219 1799...

output:

0 0
0 0
0 0
0 0
1 0
0 0
0 0
1 0
0 0
1 0
0 0
0 0
0 0
1 0
0 0
0 0
1 0
0 0
0 0
0 0
0 0
0 0
1 0
0 0
0 0
...

result:

ok 5998 numbers

Test #31:

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

input:

2979
1455 2657 2965 457 2537 1152 77 814 2662 1158 2564 2919 853 1053 274 1429 1177 2005 409 2907 14...

output:

431 0
2377 2
2472 3
2163 2
1745 2
2577 6
465 1
2350 5
2064 4
2466 8
1715 3
2834 12
598 2
824 3
2620 ...

result:

ok 5968 numbers

Test #32:

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

input:

2992
45 9 2 36 3 6 19 33 5 52 10 51 1 38 21 40 43 23 25 13 41 35 30 4 49 24 32 50 39 16 11 48 53 54 ...

output:

764 5
895 875
230 11
51 42
1301 1
223 2
729 0
2066 1030
270 0
705 2
706 3
141 28
2218 2
219 0
441 2
...

result:

ok 5942 numbers

Test #33:

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

input:

2982
16 21 7 17 13 38 1 20 9 11 36 46 32 54 34 6 33 44 45 35 52 5 8 29 4 43 24 53 22 51 26 50 10 3 1...

output:

1458 0
436 0
594 0
376 0
1 0
1026 0
918 0
217 0
865 0
271 0
1296 0
649 0
540 0
486 0
1026 0
756 0
38...

result:

ok 5954 numbers

Subtask #3:

score: 10
Accepted

Test #34:

score: 10
Accepted
time: 180ms
memory: 39200kb

input:

89311
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

34927 0
1442 0
18575 0
916 0
7515 0
9398 0
4082 0
24910 0
199 0
5629 0
13117 0
18880 0
22359 0
5462 ...

result:

ok 179628 numbers

Test #35:

score: 0
Accepted
time: 120ms
memory: 39092kb

input:

89118
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

65916 0
41773 0
5075 0
53788 0
22400 0
53329 0
75401 32762
30092 0
38543 0
57210 21869
16270 0
19044...

result:

ok 178408 numbers

Test #36:

score: 0
Accepted
time: 166ms
memory: 39204kb

input:

89355
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

17695 0
1435 0
32028 0
30766 0
13479 0
16228 0
8616 0
29080 0
17628 0
1905 0
21056 0
10123 0
21358 0...

result:

ok 179838 numbers

Test #37:

score: 0
Accepted
time: 182ms
memory: 41156kb

input:

94080
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

29828 0
706 0
75009 0
49819 0
27316 0
20240 0
12746 0
6487 0
14202 0
9840 0
1019 0
12928 0
2191 0
43...

result:

ok 188376 numbers

Test #38:

score: 0
Accepted
time: 131ms
memory: 41480kb

input:

94967
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

27585 0
21580 0
9010 0
6847 0
15336 0
16931 0
84664 0
14234 0
21554 0
8643 0
17864 0
2888 0
50307 0
...

result:

ok 188846 numbers

Test #39:

score: 0
Accepted
time: 161ms
memory: 41312kb

input:

94403
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

16486 0
38642 0
13334 0
38105 0
34265 0
12623 0
7200 0
23721 0
16495 0
27782 0
1654 0
1775 0
16241 0...

result:

ok 189220 numbers

Test #40:

score: 0
Accepted
time: 185ms
memory: 43372kb

input:

99435
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

2182 0
10924 0
2564 0
30462 0
9659 0
4925 0
25353 0
15208 0
45262 0
21657 0
14138 0
19148 0
9301 0
4...

result:

ok 198412 numbers

Test #41:

score: 0
Accepted
time: 116ms
memory: 43424kb

input:

99419
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

16862 0
8150 0
24688 0
24097 0
28255 0
18605 0
14572 0
7593 0
98756 35420
44080 0
32447 0
20810 0
12...

result:

ok 199908 numbers

Test #42:

score: 0
Accepted
time: 186ms
memory: 43516kb

input:

99771
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

28540 0
29099 0
32196 0
27248 0
7683 0
16753 0
336 0
5450 0
17296 0
12703 0
20899 0
195 0
7686 0
94 ...

result:

ok 199822 numbers

Subtask #4:

score: 15
Accepted

Test #43:

score: 15
Accepted
time: 183ms
memory: 39312kb

input:

89622
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

24904 0
37407 5567
27970 0
6180 0
6047 0
14816 0
4447 0
13365 0
9759 0
14580 0
35154 3314
8307 0
392...

result:

ok 179938 numbers

Test #44:

score: 0
Accepted
time: 115ms
memory: 39216kb

input:

89504
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

22131 0
3730 0
14332 0
44949 0
46820 501
74499 28180
31778 0
22221 0
84355 32974
9474 0
31746 29110
...

result:

ok 178364 numbers

Test #45:

score: 0
Accepted
time: 152ms
memory: 39372kb

input:

89847
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

18805 0
28904 0
7685 0
10005 0
8314 0
9519 0
12801 0
969 0
5651 0
1559 0
3883 0
13089 0
20077 0
660 ...

result:

ok 179756 numbers

Test #46:

score: 0
Accepted
time: 188ms
memory: 41472kb

input:

94920
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

28738 0
7403 0
8214 0
62994 20237
3825 0
30568 0
1371 0
7151 0
4163 0
4936 0
3677 0
14801 0
1298 0
1...

result:

ok 189354 numbers

Test #47:

score: 0
Accepted
time: 123ms
memory: 41368kb

input:

94615
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

3728 0
49617 0
28169 0
1024 0
49967 0
8440 0
26172 0
73164 0
63408 0
41378 0
25383 0
63713 0
76967 1...

result:

ok 188944 numbers

Test #48:

score: 0
Accepted
time: 175ms
memory: 41396kb

input:

94609
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

12484 0
6098 0
2427 0
7493 0
36675 21304
5814 0
31217 15846
2366 0
10527 0
4420 0
17123 1752
28885 1...

result:

ok 189968 numbers

Test #49:

score: 0
Accepted
time: 227ms
memory: 43352kb

input:

99248
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

2105 0
5575 0
23052 0
15270 0
14318 0
30638 0
1610 0
3774 0
35605 0
42167 0
6678 0
18993 0
16339 0
2...

result:

ok 199332 numbers

Test #50:

score: 0
Accepted
time: 149ms
memory: 43524kb

input:

99735
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

4415 0
5354 0
27025 0
73673 37671
60484 24482
49949 13947
16357 0
24790 0
90955 54953
22765 0
10446 ...

result:

ok 199640 numbers

Test #51:

score: 0
Accepted
time: 167ms
memory: 43356kb

input:

99347
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3...

output:

12177 0
7495 0
14382 0
19424 0
9061 0
6953 0
20723 0
6450 0
18898 0
42313 8459
11455 0
21720 0
20617...

result:

ok 199322 numbers

Subtask #5:

score: 15
Accepted

Test #52:

score: 15
Accepted
time: 207ms
memory: 41212kb

input:

94118
82823 23385 75871 17866 56689 40237 53782 19673 9377 31135 74386 2545 28887 70695 92081 44929 ...

output:

31781 2495
3181 998
6639 497
19803 15567
14426 3609
5519 1092
40905 19815
16412 12238
35905 28099
22...

result:

ok 189584 numbers

Test #53:

score: 0
Accepted
time: 180ms
memory: 41252kb

input:

94204
25235 81202 80809 65849 10562 26800 1812 61219 9157 35131 117 61722 25661 10414 6621 76926 358...

output:

0 0
9 0
1 1
1 1
1 1
0 0
0 0
0 0
0 0
0 0
1 1
1 1
34 34
0 0
0 0
7 0
0 0
30 5
0 0
0 0
0 0
11 8
0 0
51 1...

result:

ok 189906 numbers

Test #54:

score: 0
Accepted
time: 178ms
memory: 41336kb

input:

94583
44719 31513 72593 66821 86193 40142 84720 54371 18704 25534 26960 59327 50116 49798 56884 2348...

output:

8 0
4 0
4 0
4 0
15 11
0 0
0 0
1 1
43 31
25 20
8 0
2 0
14 5
2 0
0 0
1 1
0 0
27 26
5 5
0 0
0 0
2 0
18 ...

result:

ok 188826 numbers

Test #55:

score: 0
Accepted
time: 143ms
memory: 41428kb

input:

94808
78204 45242 64357 31160 43778 26152 89720 67618 64799 76207 14185 90122 24654 85971 8800 37296...

output:

25240 1
78025 2
92419 3
71866 2
74315 3
12138 0
35118 3
16142 2
87435 8
64885 5
50738 5
1642 0
31856...

result:

ok 189482 numbers

Subtask #6:

score: 15
Accepted

Test #56:

score: 15
Accepted
time: 664ms
memory: 129252kb

input:

292085
261321 2896 279839 87475 94785 176461 131965 30318 121384 4528 191070 159842 56689 193104 480...

output:

9 8
1 0
1 0
1 0
4 0
10 1
1 0
43 12
1 0
90 34
0 0
3 1
3 1
4 0
1 0
1 0
1 0
1 0
2 1
1 0
2 1
1 0
1 0
3 1...

result:

ok 585300 numbers

Test #57:

score: 0
Accepted
time: 715ms
memory: 129648kb

input:

293150
224130 148370 33647 72436 113795 190291 107438 197330 171819 643 29536 256633 211118 5664 179...

output:

0 0
0 0
0 0
1 0
0 0
0 0
0 0
0 0
0 0
7 6
24 19
9 7
0 0
0 0
0 0
24 19
15 2
0 0
7 6
5 0
0 0
0 0
24 19
3...

result:

ok 585582 numbers

Test #58:

score: 0
Accepted
time: 858ms
memory: 129424kb

input:

292073
250896 166059 180113 177269 205619 11604 200931 32346 24940 29827 19976 41421 117356 142547 1...

output:

9736 7041
53498 34062
79882 9455
43462 22480
149464 32551
39436 26295
9813 2461
20416 18773
50402 13...

result:

ok 589370 numbers

Test #59:

score: 0
Accepted
time: 812ms
memory: 129484kb

input:

292465
267867 225327 290529 240417 34585 77729 28258 116126 183950 283108 30129 215969 211888 204337...

output:

47 45
2 2
7 7
1 1
2 2
2 2
1 1
2 2
0 0
1 1
6 6
1 1
2 2
1 1
2 2
1 1
24 21
3 2
0 0
2 2
10 2
7 7
1 1
2 2...

result:

ok 587156 numbers

Subtask #7:

score: 10
Accepted

Test #60:

score: 10
Accepted
time: 1855ms
memory: 217656kb

input:

492554
51993 42952 174683 146020 137694 483667 242808 391966 359743 427043 330978 412248 439434 3830...

output:

15246 14741
37031 29381
41849 28455
42682 16375
27449 15082
250341 94578
398886 141843
50243 15776
1...

result:

ok 984130 numbers

Test #61:

score: 0
Accepted
time: 1488ms
memory: 218048kb

input:

494015
399589 435220 6728 56668 451664 190205 74681 278276 255408 312355 275240 345988 193640 237192...

output:

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

result:

ok 980744 numbers

Extra Test:

score: 0
Extra Test Passed