编程题

两个序列的故事

题目描述

给定两个整数序列 A = a1,a2,,,,an 与 B = b1,b2,,,,bn , 我们称 A 中长度为 ( r-l+1 )的连续子序列 al,al+1,,,,an (1 ≤ l ≤ r ≤ n) 是好的,如果 min(a l , a l+1 , …, a r ) ≥ b r-l+1 。

对于所有 1 ≤ k ≤ n 请求出 A 中是否有长度为 k 的好的连续子序列。

时间限制: 11000        内存限制: 262144

输入

第一行输入一个整数 n (1 ≤ n ≤ 500000 ) 表示两个序列的长度。

第二行输入 n 个整数a1,a2,,,,an (1 ≤ a i ≤ 1000000 ) 表示序列 A。

第三行输入 n 个整数b1,b2,,,,bn (1 ≤ b i ≤1 0 6 ) 表示序列 B。

输出

在一行中输出长度为 n 的字符串 s1,s2,,,,sn

若 A 中存在长度为 k 的好的连续子序列则 sk = 1 ,否则 sk = 0。

样例输入

样例#1:

5

1 3 2 5 3

6 3 3 2 3

样例#2:

1

1000000

1000000

样例#3:

1

1

1000000

样例输出

样例#1:

01010

样例#2:

1

样例#3:

0

查看答案
赣ICP备20007335号-2