luogu#P1704. 寻找最优美做题曲线

寻找最优美做题曲线

题目背景

nodgd 是一个喜欢写程序的同学,前不久(好像还是有点久了)洛谷 OJ 横空出世,nodgd 同学当然第一时间来到洛谷 OJ 刷题。于是发生了一系列有趣的事情,他就打算用这些事情来出题恶心大家……

题目描述

洛谷 OJ 刷题有个有趣的评测功能,就是系统自动绘制出用户的“做题曲线”。所谓做题曲线就是一条曲线,或者说是折线,是这样定义的:假设某用户在第 bib_i 天 AC 了 cic_i 道题,并且 bib_i 严格递增,那么该用户的做题曲线就是平面上点 (i,ci)(i,c_i) 依次连出的一条折线。比如你在第 11 天做了 33 道题,第 33 天做了 44 道题,第 66 天做了 11 道题,那么你在前 66 天的做题曲线就是从点 (1,3)(1,3) 到点 (2,4)(2,4) 到点 (3,1)(3,1) 的连续折线。

nodgd 同学可以预测出自己未来 NN 天每条能够 ACAC 题目的数量,同时有一个很无趣的爱好,就是单调递增,nodgd 强迫自己的做题曲线保持严格的单调递增。但是出于某些原因,nodgd 在某些日子(共有 KK 天)必须刷题,而且刷题数量一定是预计的数量(体现 nodgd 的神预测)。nodgd 同学想知道,在这样的情况下,自己最多有多少天可以刷题,不过 nodgd 同学还有大量的数学竞赛题、物理竞赛题、英语竞赛题、美术竞赛题、体育竞赛题……要做,就拜托你来帮他算算了。

输入格式

第一行两个正整数,NNKK,表示 nodgd 预测了未来 NN 天每天做题的数量,其中 KK 天必须刷题。

第二行 KK 个正整数 pip_i,表示第 pip_i 天必须刷题 (1piN(1 \le p_i\le N,保证每个 pip_i 不同)。

第三行 NN 个正整数 cic_i,表示在第 ii 天 nodgd 可以 ACAC 的题目数量必须是 cic_i

输出格式

输出共一行。

如果能找到严格递增的做题曲线:一个正整数,表示 nodgd 最多有多少天可以刷题。

如果找不到严格递增的做题曲线:直接输出 impossible(不加引号,全是小写字母)。

13 4
2 13 8 7
6 10 9 8 9 10 11 16 14 12 13 14 18 
5

提示

数据范围及约定

对于全部数据,

  • 1N5000001 \le N \le 5000001KN/21 \le K \le N/2
  • 1p[i]N1 \le p[i] \le N,保证每个 p[i]p[i] 不同,不保证 p[i]p[i] 按大小顺序输入;
  • 1c[i]1091 \le c[i] \le 10^9