Skip to content

Commit d01c6ac

Browse files
Add a sample code for I - Number of Substrings
1 parent 3513bd4 commit d01c6ac

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
use ac_library_rs::{lcp_array, suffix_array};
2+
use std::io::Read;
3+
use std::iter;
4+
5+
fn main() {
6+
let mut s = String::new();
7+
std::io::stdin().read_to_string(&mut s).unwrap();
8+
let s = s.trim();
9+
let suffix_array = suffix_array(s);
10+
let ans: u64 = iter::once(0)
11+
.chain(lcp_array(s, &suffix_array))
12+
.zip(suffix_array)
13+
.map(|(c, i)| (s.len() - i - c) as u64)
14+
.sum();
15+
println!("{}", ans);
16+
}

0 commit comments

Comments
 (0)