Task: | Vuodet |
Sender: | Metabolix |
Submission time: | 2025-09-05 21:12:00 +0300 |
Language: | Rust (2021) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 100 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
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 |