提出 #53432676
ソースコード 拡げる
#![allow(unused)]
fn main() {
let n = read::<usize>();
let m = 998_244_353;
let arr = readv::<i64>();
let mut pow10 = vec![];
for i in 0..11 {
pow10.push(10i64.pow(i) % m);
}
let num_digit = |mut x: i64| {
let mut cnt = 1;
while x >= 10 {
cnt += 1;
x /= 10;
}
cnt
};
let mut pref = 0;
let mut ans = 0;
for i in 0..n {
let val1 = pref % m * pow10[num_digit(arr[i])] % m;
let val2 = arr[i] * (i as i64) % m;
ans += val1;
ans %= m;
ans += val2;
ans %= m;
pref += arr[i];
}
println!("{}", ans);
}
fn read<T: std::str::FromStr>() -> T {
let mut s = String::new();
std::io::stdin().read_line(&mut s).ok();
s.trim().parse().ok().unwrap()
}
fn readv<T: std::str::FromStr>() -> Vec<T> {
read::<String>()
.split_ascii_whitespace()
.map(|t| t.parse().ok().unwrap())
.collect()
}
fn reads() -> Vec<char> {
read::<String>().chars().collect::<_>()
}
fn mapv<T, S, F: Fn(&T) -> S>(arr: &Vec<T>, f: F) -> Vec<S> {
arr.iter().map(f).collect()
}
fn join<T: ToString>(arr: &[T], sep: &str) -> String {
arr.iter()
.map(|x| x.to_string())
.collect::<Vec<String>>()
.join(sep)
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Another Sigma Problem |
| ユーザ | amoshuangyc |
| 言語 | Rust (rustc 1.70.0) |
| 得点 | 400 |
| コード長 | 1378 Byte |
| 結果 | AC |
| 実行時間 | 10 ms |
| メモリ | 6420 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_01.txt, 00_sample_02.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_01.txt | AC | 1 ms | 2064 KiB |
| 00_sample_02.txt | AC | 0 ms | 1916 KiB |
| 01_test_01.txt | AC | 8 ms | 6332 KiB |
| 01_test_02.txt | AC | 8 ms | 6320 KiB |
| 01_test_03.txt | AC | 9 ms | 6368 KiB |
| 01_test_04.txt | AC | 8 ms | 6420 KiB |
| 01_test_05.txt | AC | 8 ms | 6312 KiB |
| 01_test_06.txt | AC | 7 ms | 6260 KiB |
| 01_test_07.txt | AC | 8 ms | 6408 KiB |
| 01_test_08.txt | AC | 10 ms | 5700 KiB |
| 01_test_09.txt | AC | 9 ms | 5604 KiB |
| 01_test_10.txt | AC | 9 ms | 5628 KiB |
| 01_test_11.txt | AC | 8 ms | 6200 KiB |
| 01_test_12.txt | AC | 4 ms | 4240 KiB |
| 01_test_13.txt | AC | 6 ms | 5196 KiB |
| 01_test_14.txt | AC | 4 ms | 3668 KiB |
| 01_test_15.txt | AC | 3 ms | 3544 KiB |
| 01_test_16.txt | AC | 4 ms | 3564 KiB |
| 01_test_17.txt | AC | 1 ms | 2016 KiB |
| 01_test_18.txt | AC | 6 ms | 5748 KiB |
| 01_test_19.txt | AC | 6 ms | 5660 KiB |
| 01_test_20.txt | AC | 10 ms | 5548 KiB |