Submission #74092332
Source Code Expand
use proconio::input;
fn main() {
input! {
n: usize,
l: usize,
r: usize,
s: String,
}
let mut pos: Vec<Vec<usize>> = vec![Vec::new(); 26];
for (i, c) in s.chars().enumerate() {
let idx = (c as usize) - ('a' as usize);
pos[idx].push(i);
}
let mut ans: i64 = 0;
for p in pos {
let m = p.len();
if m == 0 {
continue;
}
let mut left = 0;
let mut right = 0;
for b in 0..m {
let curr = p[b] as i64;
let min_val = curr - r as i64;
let max_val = curr - l as i64;
while left < m && (p[left] as i64) < min_val {
left += 1;
}
while right < m && (p[right] as i64) <= max_val {
right += 1;
}
if right > left {
ans += (right - left) as i64;
}
}
}
println!("{}", ans);
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Comfortable Distance |
| User | memoka |
| Language | Rust (rustc 1.89.0) |
| Score | 300 |
| Code Size | 1019 Byte |
| Status | AC |
| Exec Time | 13 ms |
| Memory | 8128 KiB |
Compile Error
warning: unused variable: `n` --> src/main.rs:5:9 | 5 | n: usize, | ^ help: if this is intentional, prefix it with an underscore: `_n` | = note: `#[warn(unused_variables)]` on by default
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 300 / 300 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample00.txt, sample01.txt, sample02.txt |
| All | sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample00.txt | AC | 1 ms | 1908 KiB |
| sample01.txt | AC | 1 ms | 1976 KiB |
| sample02.txt | AC | 1 ms | 2108 KiB |
| testcase00.txt | AC | 1 ms | 1828 KiB |
| testcase01.txt | AC | 1 ms | 1864 KiB |
| testcase02.txt | AC | 2 ms | 2848 KiB |
| testcase03.txt | AC | 7 ms | 7832 KiB |
| testcase04.txt | AC | 4 ms | 3992 KiB |
| testcase05.txt | AC | 5 ms | 5656 KiB |
| testcase06.txt | AC | 4 ms | 3696 KiB |
| testcase07.txt | AC | 7 ms | 8052 KiB |
| testcase08.txt | AC | 12 ms | 7996 KiB |
| testcase09.txt | AC | 10 ms | 8128 KiB |
| testcase10.txt | AC | 13 ms | 7980 KiB |
| testcase11.txt | AC | 10 ms | 7752 KiB |
| testcase12.txt | AC | 6 ms | 6880 KiB |
| testcase13.txt | AC | 6 ms | 6880 KiB |
| testcase14.txt | AC | 6 ms | 6912 KiB |
| testcase15.txt | AC | 6 ms | 6868 KiB |
| testcase16.txt | AC | 6 ms | 6672 KiB |
| testcase17.txt | AC | 6 ms | 6808 KiB |
| testcase18.txt | AC | 6 ms | 6816 KiB |
| testcase19.txt | AC | 6 ms | 6752 KiB |