CF1601F.Two Sorts
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Integers from 1 to n (inclusive) were sorted lexicographically (considering integers as strings). As a result, array a1,a2,…,an was obtained.
Calculate value of (∑i=1n((i−ai)mod998244353))mod109+7 .
xmody here means the remainder after division x by y . This remainder is always non-negative and doesn't exceed y−1 . For example, 5mod3=2 , (−1)mod6=5 .
输入格式
The first line contains the single integer n ( 1≤n≤1012 ).
输出格式
Print one integer — the required sum.
输入输出样例
输入#1
3
输出#1
0
输入#2
12
输出#2
994733045
输入#3
21
输出#3
978932159
输入#4
1000000000000
输出#4
289817887
说明/提示
A string a is lexicographically smaller than a string b if and only if one of the following holds:
- a is a prefix of b , but a=b ;
- in the first position where a and b differ, the string a has a letter that appears earlier in the alphabet than the corresponding letter in b .
For example, 42 is lexicographically smaller than 6 , because they differ in the first digit, and 4<6 ; 42<420 , because 42 is a prefix of 420 .
Let's denote 998244353 as M .
In the first example, array a is equal to [1,2,3] .
- (1−1)modM=0modM=0
- (2−2)modM=0modM=0
- (3−3)modM=0modM=0
As a result, (0+0+0)mod109+7=0
In the second example, array a is equal to [1,10,11,12,2,3,4,5,6,7,8,9] .
- (1−1)modM=0modM=0
- (2−10)modM=(−8)modM=998244345
- (3−11)modM=(−8)modM=998244345
- (4−12)modM=(−8)modM=998244345
- (5−2)modM=3modM=3
- (6−3)modM=3modM=3
- (7−4)modM=3modM=3
- (8−5)modM=3modM=3
- (9−6)modM=3modM=3
- (10−7)modM=3modM=3
- (11−8)modM=3modM=3
- (12−9)modM=3modM=3
As a result, (0+998244345+998244345+998244345+3+3+3+3+3+3+3+3)mod109+7 = 2994733059mod109+7 = 994733045