#P3243. 集卡片

集卡片

题目描述

ROBIN 小时候很喜欢收集卡片,他经常要去商店购买新到的卡片。商店出售的卡片有 NN 张,是连续的,并且都连在一起成为一个长串,商店阿姨告诉 ROBIN 只能购买连续的一段。这一串卡片共有 MM 种,每种卡片都有一个价格,ROBIN 拿的钱数为 VV,他想花最少的钱来集齐所有种类的卡片,你能帮帮他吗?

输入格式

第一行三个正整数 N,M,VN, M, V
第二行 MM 个正整数,第 ii 个数 TiT_i 表示第 ii 种卡片的价格。
第三行 NN 个正整数,表示卡片序列,每个数代表该张卡片的种类(保证在 11MM 之间)。

输出格式

若可以集齐所有种类的卡片,输出一个整数 ansans,表示 ROBIN 剩余的钱数(即 VV 减去集齐所有种类所需的最小花费);若无法集齐,输出 NO ans

样例

5 2 20
10 5
1 1 2 2 1
5

样例解释

卡片序列为 1 1 2 2 1,种类 11 价格为 1010,种类 22 价格为 55。购买第 22 到第 33 张卡片(1 2)或第 44 到第 55 张卡片(2 1)都能集齐两种卡片,花费 10+5=1510+5=15,剩余钱数为 2015=520-15=5

数据范围

  • 对于 30%30\% 的数据:N2000N \le 2000
  • 对于 100%100\% 的数据:N1000000N \le 1000000M2000M \le 2000Ti2000T_i \le 2000V109V \le 10^9