CSES - Datatähti 2024 loppu - Results
Submission details
Task:Palindromi
Sender:EmuBird
Submission time:2024-01-20 13:36:22 +0200
Language:Rust
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#40.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#70.00 sdetails
#80.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#110.00 sdetails
#120.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.00 sdetails
#17ACCEPTED0.00 sdetails

Code

use std::{io::stdin};

fn main() {
    let stdin = stdin();
    let (n, k): (usize, usize) = {
        let mut s = String::new();
        stdin.read_line(&mut s).unwrap();
        let mut l = s.trim_end().split_whitespace();
        (l.next().unwrap().parse().unwrap(), l.next().unwrap().parse().unwrap())
    };

    let letters: Vec<char> = "abcdefghijklmnopqrstuvwxyz".chars().collect();

    let mut palindromi = String::with_capacity(n);

    for i in 0..(k/2) {
        palindromi.insert(i, letters[i % letters.len()]);
        palindromi.insert(palindromi.len() - 1 - i, letters[i % letters.len()]);
    }
    if k % 2 != 0 {
        palindromi.insert(k / 2, letters[(k / 2 + 1) % letters.len()]);
    }
    
    let mut fill = String::with_capacity(n - k);
    for i in 0..((n - k) / 2) {
        fill.push(letters[i % letters.len()]);
    }

    println!("{}", fill.clone() + &*palindromi + &*fill + if (n - k) % 2 != 0 {"z"} else {""})
}

Test details

Test 1

Verdict: ACCEPTED

input
1 1

correct output
a

user output
b

Test 2

Verdict: ACCEPTED

input
2 1

correct output
ab

user output
bz

Test 3

Verdict: ACCEPTED

input
2 2

correct output
aa

user output
aa

Test 4

Verdict:

input
3 1

correct output
abc

user output
aba

Test 5

Verdict: ACCEPTED

input
3 2

correct output
aab

user output
aaz

Test 6

Verdict: ACCEPTED

input
3 3

correct output
aaa

user output
aca

Test 7

Verdict:

input
4 1

correct output
abca

user output
abaz

Test 8

Verdict:

input
4 2

correct output
aabc

user output
aaaa

Test 9

Verdict: ACCEPTED

input
4 3

correct output
aaab

user output
acaz

Test 10

Verdict: ACCEPTED

input
4 4

correct output
aaaa

user output
abba

Test 11

Verdict:

input
100 1

correct output
abcabcabcabcabcabcabcabcabcabc...

user output
abcdefghijklmnopqrstuvwxyzabcd...
Truncated

Test 12

Verdict:

input
100 2

correct output
aabcabcabcabcabcabcabcabcabcab...

user output
abcdefghijklmnopqrstuvwxyzabcd...
Truncated

Test 13

Verdict: ACCEPTED

input
100 5

correct output
aaaaabcabcabcabcabcabcabcabcab...

user output
abcdefghijklmnopqrstuvwxyzabcd...
Truncated

Test 14

Verdict: ACCEPTED

input
100 10

correct output
aaaaaaaaaabcabcabcabcabcabcabc...

user output
abcdefghijklmnopqrstuvwxyzabcd...
Truncated

Test 15

Verdict: ACCEPTED

input
100 50

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
abcdefghijklmnopqrstuvwxyabcde...
Truncated

Test 16

Verdict: ACCEPTED

input
100 90

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
abcdeabcdefghijklmnopqrstuvwxy...
Truncated

Test 17

Verdict: ACCEPTED

input
100 100

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
abcdefghijklmnopqrstuvwxyzabcd...
Truncated