| Task: | Bittijono |
| Sender: | yhyy |
| Submission time: | 2017-10-08 16:40:01 +0300 |
| Language: | Assembly |
| Status: | READY |
| Result: | 49 |
| subtask | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 7 |
| #2 | ACCEPTED | 15 |
| #3 | ACCEPTED | 27 |
| #4 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | subtask | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.05 s | 1 | details |
| #2 | ACCEPTED | 0.05 s | 1 | details |
| #3 | ACCEPTED | 0.05 s | 1 | details |
| #4 | ACCEPTED | 0.06 s | 1 | details |
| #5 | ACCEPTED | 0.04 s | 1 | details |
| #6 | ACCEPTED | 0.06 s | 1 | details |
| #7 | ACCEPTED | 0.05 s | 1 | details |
| #8 | ACCEPTED | 0.04 s | 1 | details |
| #9 | ACCEPTED | 0.07 s | 1 | details |
| #10 | ACCEPTED | 0.04 s | 1 | details |
| #11 | ACCEPTED | 0.06 s | 2 | details |
| #12 | ACCEPTED | 0.06 s | 2 | details |
| #13 | ACCEPTED | 0.06 s | 2 | details |
| #14 | ACCEPTED | 0.04 s | 2 | details |
| #15 | ACCEPTED | 0.05 s | 2 | details |
| #16 | ACCEPTED | 0.04 s | 2 | details |
| #17 | ACCEPTED | 0.06 s | 2 | details |
| #18 | ACCEPTED | 0.05 s | 2 | details |
| #19 | ACCEPTED | 0.04 s | 2 | details |
| #20 | ACCEPTED | 0.06 s | 2 | details |
| #21 | ACCEPTED | 0.05 s | 3 | details |
| #22 | ACCEPTED | 0.04 s | 3 | details |
| #23 | ACCEPTED | 0.06 s | 3 | details |
| #24 | ACCEPTED | 0.06 s | 3 | details |
| #25 | ACCEPTED | 0.04 s | 3 | details |
| #26 | ACCEPTED | 0.05 s | 3 | details |
| #27 | ACCEPTED | 0.04 s | 3 | details |
| #28 | ACCEPTED | 0.07 s | 3 | details |
| #29 | ACCEPTED | 0.05 s | 3 | details |
| #30 | ACCEPTED | 0.05 s | 3 | details |
| #31 | ACCEPTED | 0.18 s | 4 | details |
| #32 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #33 | ACCEPTED | 0.16 s | 4 | details |
| #34 | ACCEPTED | 1.00 s | 4 | details |
| #35 | ACCEPTED | 0.79 s | 4 | details |
| #36 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #37 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #38 | ACCEPTED | 0.97 s | 4 | details |
| #39 | TIME LIMIT EXCEEDED | -- | 4 | details |
| #40 | ACCEPTED | 0.87 s | 4 | details |
Code
section .data section .bss syote resb 300 ; syöte buf resb 9009 ; tuloste asd resb 1 section .text global _start _start: mov eax, 3 mov ebx, 0 mov ecx, syote mov edx, 300 int 0x80 ; lue syöte mov rsi, syote mov rdi, buf call read mov r15, rax ; n xor r13, r13 mov r8, 30 mov r9, 1 mov r11, 1 mov rax, 1 mov rdx, 2 mov rbx, 1 call haku mov rcx, r8 mov r9, 1 ._2: mov r10, r9 and r10, r14 jz .__4 mov al, '1' jmp .__5 .__4: mov al, '0' .__5: stosb sal r9, 1 loop ._2 .lopeta: call flush mov rax, 1 mov rbx, 0 int 0x80 haku: cmp r11, r8 jge ._1 cmp rax, r15 jg ._1 jl ._0 mov r8, r11 mov r14, r13 ._0: inc r11 sal r9, 1 xor r13, r9 add rax, rdx add rbx, rdx call haku sub rax, rdx sub rbx, rdx xor r13, r9 add rax, rbx add rdx, rbx call haku sub rax, rbx sub rdx, rbx dec r11 sar r9, 1 ._1: ret ;) ****************** flush ********************* (; ; suoritetaan lopussa niin buf tulostuu flush: ;! huom sotkee lähes KAIKEN mov rdx, rdi sub rdx, buf mov rax, 4 mov rbx, 1 mov rcx, buf int 0x80 ret ;) ****************** read ********************* (; ;! rsi nykyinen kohta syötteessä ;) laittaa syötteestä yhden luvun rax <- x, rdx <- |x|, rbx <- sign(x) ;! 64-bit ;( sotkee rbx, rdx ja rax) read: mov rbx, 1 xor rdx, rdx xor rax, rax ._: lodsb cmp al, 0x2d je ._1 cmp al, 0x30 jl ._2 cmp al, 0x39 jg ._2 sub al, 0x30 imul rdx, 10 add rdx, rax cmp rdx, 0 jne ._ jmp ._3 ._1: mov rbx, -1 ._2: cmp rdx, 0 je ._ ._3: mov rax, rdx imul rax, rbx ret
Test details
Test 1
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 1 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 0 |
Test 2
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 2 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 00 |
Test 3
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 3 |
| correct output |
|---|
| 10 |
| user output |
|---|
| 01 |
Test 4
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 4 |
| correct output |
|---|
| 1111 |
| user output |
|---|
| 0000 |
Test 5
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 5 |
| correct output |
|---|
| 110 |
| user output |
|---|
| 011 |
Test 6
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 6 |
| correct output |
|---|
| 101 |
| user output |
|---|
| 010 |
Test 7
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 7 |
| correct output |
|---|
| 1110 |
| user output |
|---|
| 0111 |
Test 8
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 8 |
| correct output |
|---|
| 1100 |
| user output |
|---|
| 0011 |
Test 9
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 9 |
| correct output |
|---|
| 1101 |
| user output |
|---|
| 0100 |
Test 10
Subtask: 1
Verdict: ACCEPTED
| input |
|---|
| 10 |
| correct output |
|---|
| 1001 |
| user output |
|---|
| 0110 |
Test 11
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 38 |
| correct output |
|---|
| 1101011 |
| user output |
|---|
| 0010100 |
Test 12
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 13 |
| correct output |
|---|
| 11011 |
| user output |
|---|
| 00100 |
Test 13
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 90 |
| correct output |
|---|
| 111001010 |
| user output |
|---|
| 011011101 |
Test 14
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 25 |
| correct output |
|---|
| 110010 |
| user output |
|---|
| 010011 |
Test 15
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 82 |
| correct output |
|---|
| 111001101 |
| user output |
|---|
| 011101100 |
Test 16
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 94 |
| correct output |
|---|
| 1100011110 |
| user output |
|---|
| 0111100011 |
Test 17
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 100 |
| correct output |
|---|
| 1111001001 |
| user output |
|---|
| 0110110000 |
Test 18
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 99 |
| correct output |
|---|
| 110010010 |
| user output |
|---|
| 011100101 |
Test 19
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 98 |
| correct output |
|---|
| 110110010 |
| user output |
|---|
| 011000101 |
Test 20
Subtask: 2
Verdict: ACCEPTED
| input |
|---|
| 92 |
| correct output |
|---|
| 100110001 |
| user output |
|---|
| 011100110 |
Test 21
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 1666 |
| correct output |
|---|
| 101101100100101 |
| user output |
|---|
| 011011101010101 |
Test 22
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 897 |
| correct output |
|---|
| 11101001101010 |
| user output |
|---|
| 01011101001011 |
Test 23
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4466 |
| correct output |
|---|
| 111101010110100101 |
| user output |
|---|
| 010110110001110100 |
Test 24
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4240 |
| correct output |
|---|
| 11011001011010101 |
| user output |
|---|
| 01010100101100100 |
Test 25
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 3089 |
| correct output |
|---|
| 1011001010100101 |
| user output |
|---|
| 0101101010110010 |
Test 26
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4697 |
| correct output |
|---|
| 11010101101010110 |
| user output |
|---|
| 01101010110101011 |
Test 27
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4608 |
| correct output |
|---|
| 11010110101001010 |
| user output |
|---|
| 01010010101101011 |
Test 28
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4625 |
| correct output |
|---|
| 111011001100101001 |
| user output |
|---|
| 011101010001001001 |
Test 29
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4611 |
| correct output |
|---|
| 11010101010101100 |
| user output |
|---|
| 01010010100101011 |
Test 30
Subtask: 3
Verdict: ACCEPTED
| input |
|---|
| 4917 |
| correct output |
|---|
| 10110100101010110 |
| user output |
|---|
| 01101010100101101 |
Test 31
Subtask: 4
Verdict: ACCEPTED
| input |
|---|
| 178555 |
| correct output |
|---|
| 1011010110110101010110110 |
| user output |
|---|
| 0110110101010110110101101 |
Test 32
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 864856 |
| correct output |
|---|
| 10111010110110100100101010010 |
| user output |
|---|
| (empty) |
Test 33
Subtask: 4
Verdict: ACCEPTED
| input |
|---|
| 112146 |
| correct output |
|---|
| 1101110101011001100100110 |
| user output |
|---|
| 0111010111010101101001100 |
Test 34
Subtask: 4
Verdict: ACCEPTED
| input |
|---|
| 741124 |
| correct output |
|---|
| 1011010011010101100101011010 |
| user output |
|---|
| 0101101010011010101100101101 |
Test 35
Subtask: 4
Verdict: ACCEPTED
| input |
|---|
| 511902 |
| correct output |
|---|
| 1011010100011010100101001110 |
| user output |
|---|
| 0111101010101010010100110110 |
Test 36
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 920019 |
| correct output |
|---|
| 11100100101101010101001101010 |
| user output |
|---|
| (empty) |
Test 37
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 933943 |
| correct output |
|---|
| 10101011010100100110100111001 |
| user output |
|---|
| (empty) |
Test 38
Subtask: 4
Verdict: ACCEPTED
| input |
|---|
| 973410 |
| correct output |
|---|
| 1011010101011010101010101001 |
| user output |
|---|
| 0110101010101010010101010010 |
Test 39
Subtask: 4
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 954943 |
| correct output |
|---|
| 10110110010011010100100110101 |
| user output |
|---|
| (empty) |
Test 40
Subtask: 4
Verdict: ACCEPTED
| input |
|---|
| 911674 |
| correct output |
|---|
| 1010110010110101010101010110 |
| user output |
|---|
| 0110101010101010110100110101 |
