아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Строка

시간 제한2초메모리 제한1024 MB

요약
문자열 s를 크기 a_i인 연속한 블록으로 나누되 각 블록의 문자가 모두 같아야 하며, 이 조건을 만족하도록 끝에 덧붙일 최소 문자 수를 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 그리디, 문자열
정답자
아직 제출이 없습니다

문제

Вася очень любит строки, а Петя --- числа. Но оба они любят последовательности. Поэтому Вася написал на доске строку ss, а Петя --- последовательность из nn натуральных чисел a_1,a_2…a_na\_1, a\_2 \ldots a\_n.

Теперь ребят интересует, есть ли в строке ss такая подпоследовательность символов c_k{c\_k}, что первые a_1a\_1 символов в ней равны между собой, символы с (a_1+1a\_1 + 1)-го по (a_1+a_2a\_1 + a\_2) --- тоже совпадают и так далее. То есть для каждого ii (1≤i≤n1 \le i \le n) символы c_kc\_k при ∑_j=1i−1a_j+1≤k≤∑_j=1ia_j\sum\limits\_{j = 1}^{i - 1} a\_j + 1 \le k \le \sum\limits\_{j = 1}^{i} a\_j равны между собой.

Если же подпоследовательности, обладающей таким свойством, в строке ss не существует, ребят интересует наименьшее количество символов, которые достаточно дописать в конец строки ss, чтобы указанное свойство выполнялось.

입력

В первой строке входного файла одно натуральное число nn (1≤n≤10001 \le n \le 1000). Во второй строке содержится nn натуральных чисел разделенных пробелом --- a_ia\_i (∑_i=1na_i≤1000\sum\limits\_{i = 1}^n a\_i \le 1000). Строка ss непуста и состоит не более чем из 10001000 строчных латинских букв.

출력

Если искомая подпоследовательность существует, то в выходной файл требуется вывести <<0>>. Иначе необходимо вывести количество символов, которое достаточно дописать в конец строки ss для выполнения свойства.

예제2

  1. 예제 1

    입력
    3
    1 1 2
    abacaba
    
    예상 출력
    0
    
  2. 예제 2

    입력
    3
    1 2 2
    nosolution
    
    예상 출력
    1