301524: CF288A. Polo the Penguin and Strings

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Polo the Penguin and Strings

题意翻译

``` CF288A 题目大意: 找到一个字符串,满足以下条件: 1、长度为n,且字符串中包含k种小写字母; 2、相邻的字符不相等; 3、在满足1、2两条件的所有字符串中字典序最小。 输入格式: 一行,包含两个整数n、k,分别表示字符串的长度以及包含的小写字母数量(1<=n<=1000000,1<=k<=26) 输出格式: 若存在满足上述条件的字符串,输出该字符串,否则输出-1 ```

题目描述

Little penguin Polo adores strings. But most of all he adores strings of length $ n $ . One day he wanted to find a string that meets the following conditions: 1. The string consists of $ n $ lowercase English letters (that is, the string's length equals $ n $ ), exactly $ k $ of these letters are distinct. 2. No two neighbouring letters of a string coincide; that is, if we represent a string as $ s=s_{1}s_{2}...\ s_{n} $ , then the following inequality holds, $ s_{i}≠s_{i+1}(1<=i&lt;n) $ . 3. Among all strings that meet points 1 and 2, the required string is lexicographically smallest. Help him find such string or state that such string doesn't exist. String $ x=x_{1}x_{2}...\ x_{p} $ is lexicographically less than string $ y=y_{1}y_{2}...\ y_{q} $ , if either $ p&lt;q $ and $ x_{1}=y_{1},x_{2}=y_{2},...\ ,x_{p}=y_{p} $ , or there is such number $ r $ $ (r&lt;p,r&lt;q) $ , that $ x_{1}=y_{1},x_{2}=y_{2},...\ ,x_{r}=y_{r} $ and $ x_{r+1}&lt;y_{r+1} $ . The characters of the strings are compared by their ASCII codes.

输入输出格式

输入格式


A single line contains two positive integers $ n $ and $ k $ $ (1<=n<=10^{6},1<=k<=26) $ — the string's length and the number of distinct letters.

输出格式


In a single line print the required string. If there isn't such string, print "-1" (without the quotes).

输入输出样例

输入样例 #1

7 4

输出样例 #1

ababacd

输入样例 #2

4 7

输出样例 #2

-1

Input

题意翻译

``` CF288A 题目大意: 找到一个字符串,满足以下条件: 1、长度为n,且字符串中包含k种小写字母; 2、相邻的字符不相等; 3、在满足1、2两条件的所有字符串中字典序最小。 输入格式: 一行,包含两个整数n、k,分别表示字符串的长度以及包含的小写字母数量(1<=n<=1000000,1<=k<=26) 输出格式: 若存在满足上述条件的字符串,输出该字符串,否则输出-1 ```

加入题单

算法标签: