Submission #60108569
Source Code Expand
use std::collections::BTreeSet;
use itertools::Itertools;
use proconio::{input, marker::Usize1};
fn main() {
input!{
n: usize,
a: [Usize1; n],
}
let v = a.iter()
.copied()
.dedup_by_with_count(|x, y| x == y)
.collect_vec();
let mut l = 0;
let mut r = 0;
let mut cnt = 0u64;
let mut seen = vec![false; n];
let mut ans = 0u64;
while r < v.len() {
if v[r].0 == 2 {
if seen[v[r].1] {
for i in l..r {
if v[i].1 == v[r].1 {
l = i + 1;
break;
} else {
seen[v[i].1] = false;
cnt -= 1;
}
}
} else {
seen[v[r].1] = true;
cnt += 1;
ans.chmax(cnt * 2);
}
r += 1;
} else if v[r].0 == 1 {
for i in l..r {
seen[v[i].1] = false;
}
cnt = 0;
r += 1;
l = r;
} else {
if !seen[v[r].1] {
ans.chmax((cnt + 1) * 2);
}
for i in l..r {
seen[v[i].1] = false;
if v[i].1 == v[r].1 {
ans.chmax(cnt * 2);
} else {
cnt -= 1;
}
}
l = r;
seen[v[r].1] = true;
cnt = 1;
r += 1;
}
}
ans.chmax(cnt * 2);
println!("{ans}");
}
pub trait ChLibs<T: std::cmp::Ord> {
fn chmin(&mut self, elm: T) -> bool;
fn chmax(&mut self, elm: T) -> bool;
}
impl<T: std::cmp::Ord> ChLibs<T> for T {
fn chmin(&mut self, elm: T) -> bool {
if *self > elm {
*self = elm;
true
} else {
false
}
}
fn chmax(&mut self, elm: T) -> bool {
if *self < elm {
*self = elm;
true
} else {
false
}
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - 1122 Substring |
| User | ardRiriy |
| Language | Rust (rustc 1.70.0) |
| Score | 425 |
| Code Size | 2169 Byte |
| Status | AC |
| Exec Time | 8 ms |
| Memory | 7996 KiB |
Compile Error
warning: unused import: `std::collections::BTreeSet` --> src/main.rs:1:5 | 1 | use std::collections::BTreeSet; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default
Judge Result
| Set Name | Sample | All | after_contest | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 425 / 425 | 0 / 0 | ||||||
| Status |
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example_00.txt, example_01.txt, example_02.txt |
| All | example_00.txt, example_01.txt, example_02.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt, random_27.txt, random_28.txt, random_29.txt |
| after_contest | after_contest_00.txt, after_contest_01.txt, after_contest_02.txt, after_contest_03.txt, after_contest_04.txt, after_contest_05.txt, after_contest_06.txt, after_contest_07.txt, after_contest_08.txt, after_contest_09.txt, after_contest_10.txt, after_contest_11.txt, after_contest_12.txt, after_contest_13.txt, after_contest_14.txt, after_contest_15.txt, after_contest_16.txt, after_contest_17.txt, after_contest_18.txt, after_contest_19.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| after_contest_00.txt | AC | 1 ms | 1976 KiB |
| after_contest_01.txt | AC | 1 ms | 1900 KiB |
| after_contest_02.txt | AC | 3 ms | 2984 KiB |
| after_contest_03.txt | AC | 3 ms | 3348 KiB |
| after_contest_04.txt | AC | 2 ms | 2596 KiB |
| after_contest_05.txt | AC | 2 ms | 2544 KiB |
| after_contest_06.txt | AC | 5 ms | 4632 KiB |
| after_contest_07.txt | AC | 1 ms | 1972 KiB |
| after_contest_08.txt | AC | 1 ms | 1860 KiB |
| after_contest_09.txt | AC | 5 ms | 4912 KiB |
| after_contest_10.txt | AC | 1 ms | 1840 KiB |
| after_contest_11.txt | AC | 7 ms | 6724 KiB |
| after_contest_12.txt | AC | 8 ms | 7944 KiB |
| after_contest_13.txt | AC | 8 ms | 7940 KiB |
| after_contest_14.txt | AC | 8 ms | 6516 KiB |
| after_contest_15.txt | AC | 1 ms | 2060 KiB |
| after_contest_16.txt | AC | 1 ms | 1976 KiB |
| after_contest_17.txt | AC | 1 ms | 1840 KiB |
| after_contest_18.txt | AC | 1 ms | 1972 KiB |
| after_contest_19.txt | AC | 1 ms | 2000 KiB |
| example_00.txt | AC | 1 ms | 1924 KiB |
| example_01.txt | AC | 1 ms | 1972 KiB |
| example_02.txt | AC | 1 ms | 1988 KiB |
| hand_00.txt | AC | 7 ms | 6436 KiB |
| hand_01.txt | AC | 8 ms | 7872 KiB |
| hand_02.txt | AC | 7 ms | 6516 KiB |
| hand_03.txt | AC | 7 ms | 6300 KiB |
| hand_04.txt | AC | 5 ms | 4732 KiB |
| hand_05.txt | AC | 1 ms | 1972 KiB |
| random_00.txt | AC | 7 ms | 6080 KiB |
| random_01.txt | AC | 7 ms | 6192 KiB |
| random_02.txt | AC | 7 ms | 6312 KiB |
| random_03.txt | AC | 7 ms | 6528 KiB |
| random_04.txt | AC | 7 ms | 6480 KiB |
| random_05.txt | AC | 7 ms | 6520 KiB |
| random_06.txt | AC | 7 ms | 6528 KiB |
| random_07.txt | AC | 7 ms | 6480 KiB |
| random_08.txt | AC | 7 ms | 6416 KiB |
| random_09.txt | AC | 8 ms | 6496 KiB |
| random_10.txt | AC | 7 ms | 6016 KiB |
| random_11.txt | AC | 7 ms | 6228 KiB |
| random_12.txt | AC | 7 ms | 6232 KiB |
| random_13.txt | AC | 7 ms | 6556 KiB |
| random_14.txt | AC | 8 ms | 6528 KiB |
| random_15.txt | AC | 7 ms | 6368 KiB |
| random_16.txt | AC | 7 ms | 6436 KiB |
| random_17.txt | AC | 7 ms | 6548 KiB |
| random_18.txt | AC | 7 ms | 6420 KiB |
| random_19.txt | AC | 7 ms | 6424 KiB |
| random_20.txt | AC | 7 ms | 7128 KiB |
| random_21.txt | AC | 7 ms | 6364 KiB |
| random_22.txt | AC | 7 ms | 6624 KiB |
| random_23.txt | AC | 7 ms | 6416 KiB |
| random_24.txt | AC | 7 ms | 6500 KiB |
| random_25.txt | AC | 7 ms | 6560 KiB |
| random_26.txt | AC | 7 ms | 6976 KiB |
| random_27.txt | AC | 7 ms | 6780 KiB |
| random_28.txt | AC | 8 ms | 7996 KiB |
| random_29.txt | AC | 8 ms | 7848 KiB |