Submission details
Task:Vuodet
Sender:Metabolix
Submission time:2025-09-05 21:12:00 +0300
Language:Rust (2021)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails

Code

use std::io;

// Lukee rivin syötettä ja palauttaa sen sisältämät luvut vektorina.
fn read_numbers() -> Vec<i64> {
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Luku epäonnistui");
    input
        .trim()
        .split_whitespace()
        .map(|s| s.parse().expect("Ei kelvollinen luku"))
        .collect()
}

// Tarkistaa, sisältääkö luku n järjestyksessä numerot m.
fn contains_sequence(n: i64, m: i64) -> bool {
    let n_str = n.to_string();
    let m_str = m.to_string();
    let mut i = 0;
    let mut j = 0;
    while i < n_str.len() && j < m_str.len() {
        if n_str.chars().nth(i) == m_str.chars().nth(j) {
            j += 1;
        }
        i += 1;
    }
    j == m_str.len()
}

// Luo vektorin leet-luvuista välillä a ja b.
fn get_leets(a: i64, b: i64) -> Vec<i64> {
    (a..=b)
        .filter(|&num| contains_sequence(1337 * num, num))
        .collect()
}

fn main() {
    let luvut = read_numbers();
    let a = luvut[0];
    let b = luvut[1];
    let leets = get_leets(a, b);
    println!("{}", leets.len());
    for luku in leets {
        println!("{}", luku);
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
1600 2400

correct output
6
1625
2000
2025
2050
...

user output
6
1625
2000
2025
2050
...

Test 2

Verdict: ACCEPTED

input
1773 1773

correct output
0

user output
0

Test 3

Verdict: ACCEPTED

input
2025 2025

correct output
1
2025

user output
1
2025