Codeforces Round 751 (Div. 1) |
---|
Закончено |
Целые числа от $$$1$$$ до $$$n$$$ отсортировали по возрастанию в лексикографическом порядке, рассматривая их как строки, и получили массив $$$a_1, a_2, \dots, a_n$$$.
Требуется найти сумму $$$(\sum_{i = 1}^n ((i - a_i) \mod 998244353)) \mod 10^9 + 7$$$.
$$$x \mod y$$$ означает остаток от деления числа $$$x$$$ на число $$$y$$$ — этот остаток всегда неотрицателен и не превосходит $$$y - 1$$$, например $$$5 \mod 3 = 2$$$, $$$(-1) \mod 6 = 5$$$.
В первой строке содержится одно целое число $$$n$$$ ($$$1 \leq n \leq 10^{12}$$$).
Выведите одно целое число — ответ на задачу.
3
0
12
994733045
21
978932159
1000000000000
289817887
Строка $$$a$$$ лексикографически меньше строки $$$b$$$, если и только если выполняется один из следующих пунктов:
Например, $$$42$$$ меньше $$$6$$$ лексикографически, так как числа отличаются в первой позиции и $$$4 < 6$$$; $$$42 < 420$$$, так как $$$42$$$ является префиксом $$$420$$$.
Обозначим $$$998244353$$$ за $$$M$$$.
В первом примере последовательность $$$a$$$ будет равна $$$[1, 2, 3]$$$.
В результате $$$(0 + 0 + 0) \mod 10^9 + 7 = 0$$$
Во втором примере последовательность $$$a$$$ будет равна $$$[1, 10, 11, 12, 2, 3, 4, 5, 6, 7, 8, 9]$$$.
В результате $$$(0 + 998244345 + 998244345 + 998244345 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3) \mod 10^9 + 7$$$ $$$=$$$ $$$2994733059 \mod 10^9 + 7$$$ $$$=$$$ $$$994733045$$$
Название |
---|