B. Painel circular
Um painel tem lâmpadas em um círculo, numeradas de a , inicialmente apagadas. Há um botão para cada posição. Apertar o botão custa e inverte o estado das lâmpadas consecutivas que começam em , seguindo a ordem circular. Depois da posição vem a posição .
Você pode apertar cada botão quantas vezes quiser. Determine o menor custo total para obter exatamente o estado indicado pela cadeia , em que 1 significa acesa e 0 significa apagada. Se isso for impossível, informe esse fato.
Input
A primeira linha contém e (). A segunda contém uma cadeia de comprimento , formada por e . A terceira contém inteiros ().
Output
Imprima o menor custo total, ou -1 se não existir uma sequência de apertos válida.
Samples
Sample 1
Input
4 2 1100 5 2 3 4
Output
5
Basta apertar o botão . A outra escolha sem repetições que produz esse estado custa .
Sample 2
Input
4 2 1000 1 1 1 1
Output
-1
Cada aperto inverte duas lâmpadas; não é possível terminar com exatamente uma acesa.