CSES - Datatähti 2022 alku - Results
Submission details
Task:Merkkijono
Sender:xnor
Submission time:2021-10-17 23:53:14
Language:Assembly
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.01 sdetails

Code

; the whole text section fits in one 64-byte cache line :D

section .text
global _start
_start:

xor eax, eax
lea rsi, [rel buff]
push 10
pop rdx

exit:
xor edi, edi
syscall

cld
xchg eax, edi
xor ecx, ecx

atoi:
xchg eax, ecx
imul dl
add cl, al
push rsi ; gotta keep that 16 byte align
lodsb
push rsi
sub al, '0'
jnc atoi

pop rdi
pop rsi
mov [rsi], dl ; handle space or null after input number
mov al, 'a'

L1:
    cmp [rsi], dl
    stosb
    movsb
    jne L1
inc eax
loop L1

mov edx, edi
sub edx, esi ; mod 2^32 difference < 2^16
mov al, 1
mov edi, eax
syscall

push 60
pop rax
jmp exit

section .bss
buff:   resb 0x21000

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output
a

user output
a

Test 2

Verdict: ACCEPTED

input
2

correct output
bab

user output
bab

Test 3

Verdict: ACCEPTED

input
3

correct output
cbcacbc

user output
cbcacbc

Test 4

Verdict: ACCEPTED

input
4

correct output
dcdbdcdadcdbdcd

user output
dcdbdcdadcdbdcd

Test 5

Verdict: ACCEPTED

input
5

correct output
edecedebedecedeaedecedebedeced...

user output
edecedebedecedeaedecedebedeced...

Test 6

Verdict: ACCEPTED

input
6

correct output
fefdfefcfefdfefbfefdfefcfefdfe...

user output
fefdfefcfefdfefbfefdfefcfefdfe...

Test 7

Verdict: ACCEPTED

input
7

correct output
gfgegfgdgfgegfgcgfgegfgdgfgegf...

user output
gfgegfgdgfgegfgcgfgegfgdgfgegf...

Test 8

Verdict: ACCEPTED

input
8

correct output
hghfhghehghfhghdhghfhghehghfhg...

user output
hghfhghehghfhghdhghfhghehghfhg...

Test 9

Verdict: ACCEPTED

input
9

correct output
ihigihifihigihieihigihifihigih...

user output
ihigihifihigihieihigihifihigih...

Test 10

Verdict: ACCEPTED

input
10

correct output
jijhjijgjijhjijfjijhjijgjijhji...

user output
jijhjijgjijhjijfjijhjijgjijhji...

Test 11

Verdict: ACCEPTED

input
11

correct output
kjkikjkhkjkikjkgkjkikjkhkjkikj...

user output
kjkikjkhkjkikjkgkjkikjkhkjkikj...

Test 12

Verdict: ACCEPTED

input
12

correct output
lkljlklilkljlklhlkljlklilkljlk...

user output
lkljlklilkljlklhlkljlklilkljlk...

Test 13

Verdict: ACCEPTED

input
13

correct output
mlmkmlmjmlmkmlmimlmkmlmjmlmkml...

user output
mlmkmlmjmlmkmlmimlmkmlmjmlmkml...

Test 14

Verdict: ACCEPTED

input
14

correct output
nmnlnmnknmnlnmnjnmnlnmnknmnlnm...

user output
nmnlnmnknmnlnmnjnmnlnmnknmnlnm...

Test 15

Verdict: ACCEPTED

input
15

correct output
onomonolonomonokonomonolonomon...

user output
onomonolonomonokonomonolonomon...

Test 16

Verdict: ACCEPTED

input
16

correct output
popnpopmpopnpoplpopnpopmpopnpo...

user output
popnpopmpopnpoplpopnpopmpopnpo...