Problem C: PIPI的宝石项链

Problem C: PIPI的宝石项链

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 168  Solved: 30
[Submit] [Status] [Web Board] [Creator:]

Description

PIPI在麓山南路捡到了一串五颜六色的宝石项链,项链由各种颜色的宝石环绕组成,颜色一共有26种,可以用26个小写字母表示。
现在PIPI想玩一个游戏,它首先会给你一个包含26个数字的数组A,然后你需要这串项链上找到一个最短的区间,使得这个区间上颜色为i的宝石数量大于等于A[i]。
注意:i=0表示'a',i=1表示'b',以此类推。

Input

第一行为一个整数n,表示项链的长度,n<=1e5。
接下来一行为26个非负整数,表示数组A,A数组的元素和小于等于n。
接下来一行为一个字符串,仅包含小写字母,表示项链。

Output

输出一个整数,表示项链上最短的满足条件的区间长度,若不存在,输出-1.

Sample Input

26
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
abcdefghijklmnopqrstuvwxyz

Sample Output

26