CF848A.From Y to Y
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
From beginning till end, this message has been waiting to be conveyed.
For a given unordered multiset of n lowercase English letters ("multi" means that a letter may appear more than once), we treat all letters as strings of length 1 , and repeat the following operation n−1 times:
- Remove any two elements s and t from the set, and add their concatenation s+t to the set.
The cost of such operation is defined to be , where f(s,c) denotes the number of times character c appears in string s .
Given a non-negative integer k , construct any valid non-empty set of no more than 100000 letters, such that the minimum accumulative cost of the whole process is exactly k . It can be shown that a solution always exists.
输入格式
The first and only line of input contains a non-negative integer k ( 0<=k<=100000 ) — the required minimum cost.
输出格式
Output a non-empty string of no more than 100000 lowercase English letters — any multiset satisfying the requirements, concatenated to be a string.
Note that the printed string doesn't need to be the final concatenated string. It only needs to represent an unordered multiset of letters.
输入输出样例
输入#1
12
输出#1
abababab
输入#2
3
输出#2
codeforces
说明/提示
For the multiset {'a', 'b', 'a', 'b', 'a', 'b', 'a', 'b'}, one of the ways to complete the process is as follows:
- {"ab", "a", "b", "a", "b", "a", "b"}, with a cost of 0 ;
- {"aba", "b", "a", "b", "a", "b"}, with a cost of 1 ;
- {"abab", "a", "b", "a", "b"}, with a cost of 1 ;
- {"abab", "ab", "a", "b"}, with a cost of 0 ;
- {"abab", "aba", "b"}, with a cost of 1 ;
- {"abab", "abab"}, with a cost of 1 ;
- {"abababab"}, with a cost of 8 .
The total cost is 12 , and it can be proved to be the minimum cost of the process.