Submission #63252601


Source Code Expand

use std::collections::BTreeMap;

use proconio::input;

fn main() {
    input!{
        n: usize,
        a: [u64; n],
    }
    let mut map = BTreeMap::new();

    let mut ans = INF as usize;
    for (i, &ai) in a.iter().enumerate() {
        if let Some(&j) = map.get(&ai) {
            ans.chmin(i-j+1);
        }
        map.insert(ai, i);
    }
    println!("{}", if ans == INF as usize{
        "-1".to_string()
    } else {
        ans.to_string()
    });
}


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
        }
    }
}
pub static INF: u64 = 1e18 as u64;
pub static DI: &[usize] = &[0, !0, 0, 1, !0, 1, !0, 1];
pub static DJ: &[usize] = &[!0, 0, 1, 0, !0, !0, 1, 1];
pub static DC: &[char] = &['L', 'U', 'R', 'D'];

Submission Info

Submission Time
Task C - Shortest Duplicate Subarray
User ardRiriy
Language Rust (rustc 1.70.0)
Score 300
Code Size 1147 Byte
Status AC
Exec Time 48 ms
Memory 10528 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 53
Set Name Test Cases
Sample 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt
All 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-random-001.txt, 01-random-002.txt, 01-random-003.txt, 01-random-004.txt, 01-random-005.txt, 01-random-006.txt, 01-random-007.txt, 01-random-008.txt, 01-random-009.txt, 01-random-010.txt, 01-random-011.txt, 01-random-012.txt, 01-random-013.txt, 01-random-014.txt, 01-random-015.txt, 02-small-001.txt, 02-small-002.txt, 02-small-003.txt, 02-small-004.txt, 02-small-005.txt, 02-small-006.txt, 02-small-007.txt, 02-small-008.txt, 02-small-009.txt, 02-small-010.txt, 02-small-011.txt, 02-small-012.txt, 02-small-013.txt, 02-small-014.txt, 02-small-015.txt, 03-large-001.txt, 03-large-002.txt, 03-large-003.txt, 03-large-004.txt, 03-large-005.txt, 03-large-006.txt, 03-large-007.txt, 03-large-008.txt, 03-large-009.txt, 03-large-010.txt, 03-large-011.txt, 03-large-012.txt, 03-large-013.txt, 03-large-014.txt, 03-large-015.txt, 03-large-016.txt, 03-large-017.txt, 03-large-018.txt, 03-large-019.txt, 03-large-020.txt
Case Name Status Exec Time Memory
00-sample-001.txt AC 0 ms 1872 KiB
00-sample-002.txt AC 0 ms 1956 KiB
00-sample-003.txt AC 0 ms 1980 KiB
01-random-001.txt AC 36 ms 8296 KiB
01-random-002.txt AC 36 ms 8448 KiB
01-random-003.txt AC 5 ms 3960 KiB
01-random-004.txt AC 39 ms 8660 KiB
01-random-005.txt AC 39 ms 9192 KiB
01-random-006.txt AC 6 ms 4256 KiB
01-random-007.txt AC 46 ms 9924 KiB
01-random-008.txt AC 48 ms 10464 KiB
01-random-009.txt AC 6 ms 4592 KiB
01-random-010.txt AC 10 ms 3916 KiB
01-random-011.txt AC 10 ms 3884 KiB
01-random-012.txt AC 2 ms 2452 KiB
01-random-013.txt AC 8 ms 3272 KiB
01-random-014.txt AC 8 ms 3408 KiB
01-random-015.txt AC 2 ms 2360 KiB
02-small-001.txt AC 0 ms 1932 KiB
02-small-002.txt AC 0 ms 2008 KiB
02-small-003.txt AC 0 ms 2060 KiB
02-small-004.txt AC 1 ms 1936 KiB
02-small-005.txt AC 0 ms 2060 KiB
02-small-006.txt AC 0 ms 1872 KiB
02-small-007.txt AC 0 ms 2060 KiB
02-small-008.txt AC 0 ms 1804 KiB
02-small-009.txt AC 0 ms 1908 KiB
02-small-010.txt AC 0 ms 1792 KiB
02-small-011.txt AC 0 ms 2000 KiB
02-small-012.txt AC 1 ms 2088 KiB
02-small-013.txt AC 0 ms 1876 KiB
02-small-014.txt AC 0 ms 2008 KiB
02-small-015.txt AC 0 ms 2080 KiB
03-large-001.txt AC 46 ms 9884 KiB
03-large-002.txt AC 47 ms 10468 KiB
03-large-003.txt AC 47 ms 10424 KiB
03-large-004.txt AC 11 ms 4632 KiB
03-large-005.txt AC 46 ms 9852 KiB
03-large-006.txt AC 47 ms 10512 KiB
03-large-007.txt AC 47 ms 10464 KiB
03-large-008.txt AC 8 ms 4688 KiB
03-large-009.txt AC 46 ms 9928 KiB
03-large-010.txt AC 47 ms 10528 KiB
03-large-011.txt AC 47 ms 10368 KiB
03-large-012.txt AC 8 ms 4596 KiB
03-large-013.txt AC 46 ms 9788 KiB
03-large-014.txt AC 47 ms 10384 KiB
03-large-015.txt AC 47 ms 10468 KiB
03-large-016.txt AC 8 ms 4636 KiB
03-large-017.txt AC 45 ms 9920 KiB
03-large-018.txt AC 47 ms 10524 KiB
03-large-019.txt AC 47 ms 10468 KiB
03-large-020.txt AC 10 ms 4736 KiB