complete 1024.rs 1063.rs 1108.rs 1111.rs 3086.rs 7695.rs 17256.rs 17371.rs 27634.rs 31846.rs
This commit is contained in:
43
storage/zeta/rs/completed/31846.rs
Normal file
43
storage/zeta/rs/completed/31846.rs
Normal file
@@ -0,0 +1,43 @@
|
||||
use std::io::stdin;
|
||||
|
||||
fn main() {
|
||||
let mut line = String::new();
|
||||
|
||||
stdin().read_line(&mut line).unwrap();
|
||||
|
||||
let _ = line.trim().parse::<usize>().unwrap();
|
||||
|
||||
line.clear();
|
||||
stdin().read_line(&mut line).unwrap();
|
||||
let s = line.trim().chars().collect::<Vec<char>>();
|
||||
|
||||
line.clear();
|
||||
stdin().read_line(&mut line).unwrap();
|
||||
let q = line.trim().parse::<usize>().unwrap();
|
||||
|
||||
let queries = (0..q).map(|_| {
|
||||
line.clear();
|
||||
stdin().read_line(&mut line).unwrap();
|
||||
let mut parts = line.trim().split_whitespace();
|
||||
let l = parts.next().unwrap().parse::<usize>().unwrap() - 1;
|
||||
let r = parts.next().unwrap().parse::<usize>().unwrap() - 1;
|
||||
(l, r)
|
||||
});
|
||||
|
||||
for (l, r) in queries {
|
||||
let len = r - l + 1;
|
||||
let sub = &s[l..=r];
|
||||
|
||||
let mut max_score = 0;
|
||||
for k in 1..len {
|
||||
let mut score = 0;
|
||||
for i in 0..k.min(len - k) {
|
||||
if sub[k - 1 - i] == sub[k + i] {
|
||||
score += 1;
|
||||
}
|
||||
}
|
||||
max_score = max_score.max(score);
|
||||
}
|
||||
println!("{}", max_score);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user