U94222 循环往复
题目背景
本题进行捆绑测试。
upd2019-11-13:标程出的锅已经改正,原先提交过的可以重新提交。
题目描述
小C坐在一列地铁上。
他来到这座城市,是为了做非常多的志愿服务活动。
这条有$n$个站点的地铁线呈环形,站点$i$附近有$q_i$个志愿服务活动可以完成(不能重复做)。在站点$i$活动(上下地铁、订票、订酒店等)要付一笔费用,但小C可以做到多次在站点$i$停留活动而只花$p_i$元。部分站点紧邻着酒店,小C能够订一家酒店的房间,当且仅当他能够在紧邻这家酒店的站点下地铁。
这座城市有$m$种地铁票,第$j$种票以其被售出的站点为始发站,向下坐$a_j$站到终点站。票的始发站和终点站由当前站点决定,所有票在一天的有效期内可以无限制使用(~~什么情况~~)。
举个例子,当$n = 5$,$a_j = 2$,且票$j$在站点$2$售出时,小C能凭此票在$2$上地铁然后坐到$4$(在$3$不下地铁、不计费);若上述票$j$在站点$5$售出,小C则可以凭票从$5$坐到$2$(因为是环形地铁)。但如果小C在站点$5$购买了票$j$,他就不能用这张票在$2$上地铁。
对于任意两站点$x,y$,可能存在不止一种票能让小C从站$x$坐到站$y$。进一步地,甚至可能存在让小C从站$x$开始坐一圈地铁回到站$x$的票。
小C希望在完成尽量多志愿活动的前提下让自己要付的费用尽量少,同时还能订上至少一家酒店的房间。他从哪个地铁站出发比较好呢?
题目假设小C能在一天时间内完成所有他要做的事。
输入格式
第一行一个正整数$n$;
第二行$n$个正整数$p_1,p_2,...,p_n$;
第三行$n$个正整数$q_1,q_2,...,q_n$;
第四行一个正整数$m$;
第五行$m$个正整数$a_1,a_2,...,a_m$;
(以上数据含义均见题目描述)
接下来的$m$行,每行若干整数,以$0$结尾,表示这种票在哪些地铁站买得到($0$不算);
最后一行,$n$个整数($1$或$0$),表示地铁站$i$是否与酒店紧邻。
输出格式
一行,三个整数$k,S,C$,表示从站点$k$开始坐地铁,能够完成的志愿服务活动最多,为$S$个,且此时在各个地铁站上活动的总开销至少为$C$元,同时还能订上至少一家酒店的房间。
若$k$有多解,请输出最小的一个。
若小C订不到酒店房间,请求出满足除“能订上至少一家酒店的房间”外其他条件的一组$k,S,C$并以$-k,-S,-C$的形式(直接打印`-`号)输出。(妄想输出`-1`骗分?)
说明/提示
**样例$1$解释**
从站点$4$出发,走$4\to1\to2\to3$,可以花¥$4$完成$4$个志愿服务活动,并在站$1$处订上房间。虽然走$5\to2\to3$能花¥$3$完成$5$个活动,但这些站点附近没有酒店。
对于$100\%$的数据,$n,m\in[1,100000]$,$\sum\limits^{n}_{i=1}$站点$i$可以买的票的种类$\in[1,100000]$,$p_i,q_i,a_i\in[1,10^9]$
对于每个$\mathrm{subtask}$的数据:
$\mathrm{Subtask\ 1:5pts,\ \ }n,m\leq10, a_i\leq n$;
$\mathrm{Subtask\ 2:15pts,\ \ }n,m\leq10$;
$\mathrm{Subtask\ 3:20pts,\ \ }n,m\leq1000$;
$\mathrm{Subtask\ 4:15pts,}$一个站点无论如何都不会被经过多于$1$次;
$\mathrm{Subtask\ 5:45pts,}$无特殊限制。