F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Subway

Time Limit: 6000/4000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 36    Accepted Submission(s): 10


Problem Description
一辆地铁,有编号为 $1$ 到 $L$ 的 $L$ 节车厢,这 $L$ 节车厢排成一排,第 $i$ 节车厢在位置 $i$,容量为 $c[i]$ 人,地铁只在第 $1$ 秒至第 $D$ 秒的时间内允许乘客上车 (注:包括第 $1$ 秒和第 $D$ 秒)

所有乘客都要先乘坐手扶电梯到达位置 $p$,每个乘客每秒钟可以向左或者右走动一个单位的距离,上车的时间不计。

现有两组人:

* 第一组有 $n$ 个人,第 $i$ 个人到达位置 $p$ 的时间,为第 $t1[i]$ 秒。
* 第二组有 $m$ 个人,第 $i$ 个人到达位置 $p$ 的时间,为第 $t2[i]$ 秒,他想上第 $y[i]$ 号车厢,如果他走到 $y[i]$ 号车厢时 $y[i]$ 车厢人满了,或者地铁不允许乘客上车,他不会上车。

现在,我们需要给第一组的第 $i$ 个人,决定他打算上的车厢 $x[i]$(如果走到 $x[i]$ 号车厢时,$x[i]$ 号车厢人满了,或者地铁不允许乘客上车,他不会上车),从而最大化第一组人中上车的人数。

地铁里的人形色匆匆,每个人都会以最短的时间,走向自己想要上的车厢所在位置。
 

Input
第一行一个整数 $T$,表示 $T~(1\leq T\leq 20)$ 组数据。
每组数据
* 第一行 5 个整数 $L,p,n,m,D~(1\leq p \leq L \leq 100000, 1 \leq D \leq 100000, 0 \leq n,m \leq 100000)$
* 第二行 $L$ 个整数,第 $i$ 个表示 $c[i]~(0 \leq c[i] \leq 100000)$
* 第三行 $n$ 个整数,表示第一组人下电梯的时间 $(1 \leq t1[i] \leq 100000)$
* 第四行 $m$ 个整数,表示第二组人下电梯的时间 $(1 \leq t2[i] \leq 100000)$
* 第五行 $m$ 个整数,表示第二组人想去的车厢 $(1 \leq y[i] \leq L)$

数据保证,同一时刻,不会有两个人同时到达位置 $p$。
 

Output
每组数据,输出一个整数表示第一组中,最多几个人可以上车。
 

Sample Input
1 3 2 2 1 10 1 1 1 1 3 2 2
 

Sample Output
2
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-22 10:18:00, Gzip enabled