Task: | Niitty |
Sender: | a256 |
Submission time: | 2024-10-31 01:12:31 +0200 |
Language: | Assembly |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 4 |
#2 | ACCEPTED | 6 |
#3 | ACCEPTED | 10 |
#4 | ACCEPTED | 13 |
#5 | ACCEPTED | 25 |
#6 | ACCEPTED | 42 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
#2 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
#3 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
#4 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
#5 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
#6 | ACCEPTED | 0.00 s | 2, 3, 4, 5, 6 | details |
#7 | ACCEPTED | 0.00 s | 2, 3, 4, 5, 6 | details |
#8 | ACCEPTED | 0.00 s | 2, 3, 4, 5, 6 | details |
#9 | ACCEPTED | 0.00 s | 2, 3, 4, 5, 6 | details |
#10 | ACCEPTED | 0.00 s | 3, 4, 5, 6 | details |
#11 | ACCEPTED | 0.00 s | 3, 4, 5, 6 | details |
#12 | ACCEPTED | 0.00 s | 3, 4, 5, 6 | details |
#13 | ACCEPTED | 0.00 s | 3, 4, 5, 6 | details |
#14 | ACCEPTED | 0.01 s | 4, 5, 6 | details |
#15 | ACCEPTED | 0.01 s | 4, 5, 6 | details |
#16 | ACCEPTED | 0.01 s | 4, 5, 6 | details |
#17 | ACCEPTED | 0.01 s | 4, 5, 6 | details |
#18 | ACCEPTED | 0.05 s | 5, 6 | details |
#19 | ACCEPTED | 0.05 s | 5, 6 | details |
#20 | ACCEPTED | 0.06 s | 5, 6 | details |
#21 | ACCEPTED | 0.05 s | 5, 6 | details |
#22 | ACCEPTED | 0.74 s | 6 | details |
#23 | ACCEPTED | 0.74 s | 6 | details |
#24 | ACCEPTED | 0.74 s | 6 | details |
#25 | ACCEPTED | 0.74 s | 6 | details |
Compiler report
input/code.asm:806: warning: byte data exceeds bounds [-w+number-overflow]
Code
default rel global _start: function global r global R global BS global O global M global z global t global C global n global K global B SECTION .text align=16 exec _start: push rbp xor eax, eax lea rsi, [rel B] mov edx, 350600 mov edi, eax mov rbp, rsp push r15 push r14 push r13 push r12 push rbx and rsp, 0FFFFFFFFFFFFFFE0H sub rsp, 200 syscall movsx ecx, byte [rel B] mov qword [rel BS], rax mov edx, ecx sub ecx, 48 cmp ecx, 9 ja ?_062 xor r12d, r12d xor r8d, r8d lea r13, [rsi+1H] ?_001: movsx r14d, byte [r13+r12] sub edx, 48 lea r8d, [r8+r8*4] mov r11, r12 movsx r9d, dl lea r10, [r12+1H] mov r15d, r14d sub r14d, 48 lea r8d, [r9+r8*2] cmp r14d, 9 ja ?_002 movsx ecx, byte [r13+r12+1H] sub r15d, 48 lea r11d, [r8+r8*4] lea rbx, [r12+2H] movsx edi, r15b mov edx, ecx sub ecx, 48 lea r8d, [rdi+r11*2] mov r11, r10 cmp ecx, 9 ja ?_002 movsx r14d, byte [r13+r12+2H] sub edx, 48 lea r8d, [r8+r8*4] mov r11, rbx movsx r9d, dl lea r10, [r12+3H] mov r15d, r14d sub r14d, 48 lea r8d, [r9+r8*2] cmp r14d, 9 ja ?_002 movsx ecx, byte [r13+r12+3H] sub r15d, 48 lea r11d, [r8+r8*4] add r12, 4 movsx edi, r15b mov edx, ecx sub ecx, 48 lea r8d, [rdi+r11*2] mov r11, r10 cmp ecx, 9 jbe ?_001 ?_002: vpxor xmm0, xmm0, xmm0 mov dword [rel n], r8d mov ebx, r8d mov r12d, r8d mov qword [rsp+0B8H], 0 add r11d, 2 vmovdqu yword [rsp+58H], ymm0 vmovdqu yword [rsp+78H], ymm0 vmovdqu yword [rsp+98H], ymm0 test r8d, r8d jle ?_066 lea r9, [rel t] xor ebx, ebx xor edi, edi mov r10d, 1 ALIGN 16 ?_003: xor r15d, r15d ALIGN 16 ?_004: movsxd r13, r11d cmp r13, rax jge ?_055 ?_005: lea r14d, [r11+1H] movsxd rcx, r11d movsxd r13, r14d mov r11d, r14d ?_006: movsx r14d, byte [rsi+rcx] sub r14d, 65 movsxd r8, r14d mov edx, dword [rsp+r8*4+58H] test edx, edx je ?_054 dec edx shlx ecx, r10d, edx mov dword [r9+r15*4], ecx inc r15 or dword [rel C], ecx cmp r12d, r15d jg ?_004 ?_007: inc r11d cmp r13, rax jl ?_008 mov r11d, r12d inc r12d mov eax, edi sub r11d, ebx dec r11d imul r11d, r12d inc r11d movsxd rdx, r11d syscall mov qword [rel BS], rax mov r12d, dword [rel n] mov r11d, 1 ?_008: inc ebx add r9, 2000 cmp ebx, r12d jl ?_003 lea esi, [r12+1H] mov r15d, dword [rel K] mov ebx, r12d imul esi, r12d mov eax, esi shr eax, 31 add eax, esi sar eax, 1 cdqe imul rax, rax cmp r15d, 25 jg ?_064 ?_009: mov r9d, 25 mov edi, 26 sub r9d, r15d sub edi, r15d cmp r9d, 6 jbe ?_065 mov r10d, edi vmovd xmm1, r15d mov r13d, 8 mov ecx, 1 shr r10d, 3 vpbroadcastd ymm2, xmm1 vmovd xmm3, r13d xor r8d, r8d vmovd xmm4, ecx vpaddd ymm1, ymm2, yword [rel .LC0] vpxor xmm0, xmm0, xmm0 mov r14d, r10d vpbroadcastd ymm5, xmm3 vpbroadcastd ymm6, xmm4 and r14d, 07H je ?_016 cmp r14d, 1 je ?_015 cmp r14d, 2 jz ?_014 cmp r14d, 3 jz ?_013 cmp r14d, 4 jz ?_012 cmp r14d, 5 jz ?_011 cmp r14d, 6 jne ?_061 ?_010: vmovdqa ymm8, ymm1 inc r8d vpaddd ymm1, ymm1, ymm5 vpsllvd ymm9, ymm6, ymm8 vpor ymm0, ymm0, ymm9 ?_011: vmovdqa ymm10, ymm1 inc r8d vpaddd ymm1, ymm1, ymm5 vpsllvd ymm11, ymm6, ymm10 vpor ymm0, ymm0, ymm11 ?_012: vmovdqa ymm12, ymm1 inc r8d vpaddd ymm1, ymm1, ymm5 vpsllvd ymm13, ymm6, ymm12 vpor ymm0, ymm0, ymm13 ?_013: vmovdqa ymm14, ymm1 inc r8d vpaddd ymm1, ymm1, ymm5 vpsllvd ymm15, ymm6, ymm14 vpor ymm0, ymm0, ymm15 ?_014: vmovdqa ymm2, ymm1 inc r8d vpaddd ymm1, ymm1, ymm5 vpsllvd ymm3, ymm6, ymm2 vpor ymm0, ymm0, ymm3 ?_015: vmovdqa ymm4, ymm1 inc r8d vpaddd ymm1, ymm1, ymm5 vpsllvd ymm7, ymm6, ymm4 vpor ymm0, ymm0, ymm7 cmp r10d, r8d jz ?_017 ?_016: vpaddd ymm8, ymm1, ymm5 vpsllvd ymm9, ymm6, ymm1 add r8d, 8 vpaddd ymm11, ymm8, ymm5 vpsllvd ymm12, ymm6, ymm8 vpor ymm10, ymm0, ymm9 vpsllvd ymm15, ymm6, ymm11 vpaddd ymm14, ymm11, ymm5 vpor ymm13, ymm10, ymm12 vpsllvd ymm4, ymm6, ymm14 vpaddd ymm3, ymm14, ymm5 vpor ymm2, ymm13, ymm15 vpsllvd ymm1, ymm6, ymm3 vpaddd ymm8, ymm3, ymm5 vpaddd ymm9, ymm8, ymm5 vpsllvd ymm10, ymm6, ymm8 vpor ymm7, ymm2, ymm4 vpor ymm0, ymm7, ymm1 vpsllvd ymm13, ymm6, ymm9 vpaddd ymm12, ymm9, ymm5 vpor ymm11, ymm0, ymm10 vpsllvd ymm15, ymm6, ymm12 vpaddd ymm1, ymm12, ymm5 vpor ymm14, ymm11, ymm13 vpor ymm0, ymm14, ymm15 cmp r10d, r8d jnz ?_016 ?_017: vextracti128 xmm5, ymm0, 01H mov r11d, edi vpor xmm6, xmm5, xmm0 and r11d, 0FFFFFFF8H vpsrldq xmm2, xmm6, 8 add r15d, r11d and edi, 07H vpor xmm3, xmm6, xmm2 vpsrldq xmm4, xmm3, 4 vpor xmm7, xmm3, xmm4 vmovd dword [rsp-18H], xmm7 je ?_019 ?_018: mov edx, 1 lea esi, [r15+1H] shlx r12d, edx, r15d or dword [rsp-18H], r12d mov edi, dword [rsp-18H] cmp r15d, 25 jz ?_019 shlx r9d, edx, esi or edi, r9d lea r10d, [r15+2H] mov dword [rsp-18H], edi cmp r15d, 24 jz ?_019 shlx r13d, edx, r10d or edi, r13d lea ecx, [r15+3H] mov dword [rsp-18H], edi cmp r15d, 23 jz ?_019 shlx r14d, edx, ecx or edi, r14d lea r8d, [r15+4H] mov dword [rsp-18H], edi cmp r15d, 22 jz ?_019 shlx r11d, edx, r8d or edi, r11d lea edx, [r15+5H] mov dword [rsp-18H], edi cmp r15d, 21 jz ?_019 bts edi, edx add r15d, 6 mov r12d, edi bts r12d, r15d cmp r15d, 26 cmovne edi, r12d mov dword [rsp-18H], edi ?_019: mov r10, qword [rel R] mov r13d, ebx mov rsi, r10 test ebx, ebx jle ?_051 mov r11d, r13d mov ecx, dword [rsp-18H] lea ebx, [rbx-1H] movsxd r15, r13d shr r11d, 3 lea rsi, [rel z] mov r12d, 1 mov dword [rsp-14H], ebx mov edx, r11d lea r9, [rsi+r15*4] vmovd xmm8, ecx vmovdqa xmm15, oword [rel .LC3] shl rdx, 5 vmovd xmm1, ecx lea r14, [rel t] mov qword [rsp+10H], r9 vmovd xmm0, r12d mov qword [rsp], rdx mov rcx, rax xor edi, edi xor r8d, r8d vpbroadcastd ymm5, xmm8 vpbroadcastd xmm6, xmm1 mov rdx, r10 vpbroadcastd xmm3, xmm0 mov eax, r13d mov r9, r14 ALIGN 16 ?_020: mov dword [rsp+2CH], 0 mov r10d, dword [rsp+2CH] cmp r10d, 499 jg ?_022 ?_021: movsxd r13, dword [rsp+2CH] mov ebx, dword [rsp+2CH] lea r14, [rel z] inc ebx mov dword [r14+r13*4], 0 mov dword [rsp+2CH], ebx mov r15d, dword [rsp+2CH] cmp r15d, 499 jg ?_022 movsxd rsi, dword [rsp+2CH] mov r12d, dword [rsp+2CH] lea r11, [rel z] inc r12d mov dword [r11+rsi*4], 0 mov dword [rsp+2CH], r12d mov r10d, dword [rsp+2CH] cmp r10d, 499 jg ?_022 movsxd r13, dword [rsp+2CH] mov r14d, dword [rsp+2CH] inc r14d mov dword [r11+r13*4], 0 mov dword [rsp+2CH], r14d mov ebx, dword [rsp+2CH] cmp ebx, 499 jg ?_022 movsxd r15, dword [rsp+2CH] mov esi, dword [rsp+2CH] inc esi mov dword [r11+r15*4], 0 mov dword [rsp+2CH], esi mov r12d, dword [rsp+2CH] cmp r12d, 499 jg ?_022 movsxd r10, dword [rsp+2CH] mov r13d, dword [rsp+2CH] inc r13d mov dword [r11+r10*4], 0 mov dword [rsp+2CH], r13d mov r14d, dword [rsp+2CH] cmp r14d, 499 jg ?_022 movsxd rbx, dword [rsp+2CH] mov r15d, dword [rsp+2CH] inc r15d mov dword [r11+rbx*4], 0 mov dword [rsp+2CH], r15d mov esi, dword [rsp+2CH] cmp esi, 499 jg ?_022 movsxd r12, dword [rsp+2CH] mov r10d, dword [rsp+2CH] inc r10d mov dword [r11+r12*4], 0 mov dword [rsp+2CH], r10d mov r13d, dword [rsp+2CH] cmp r13d, 499 jg ?_022 movsxd r14, dword [rsp+2CH] mov dword [r11+r14*4], 0 mov r11d, dword [rsp+2CH] inc r11d mov dword [rsp+2CH], r11d mov ebx, dword [rsp+2CH] cmp ebx, 499 jle ?_021 ?_022: mov dword [rsp+30H], 0 mov r15d, dword [rsp+30H] cmp r15d, 499 jg ?_024 ?_023: movsxd rsi, dword [rsp+30H] mov r10d, dword [rsp+30H] lea r12, [rel M] inc r10d mov dword [r12+rsi*4], 0 mov dword [rsp+30H], r10d mov r13d, dword [rsp+30H] cmp r13d, 499 jg ?_024 movsxd r14, dword [rsp+30H] mov ebx, dword [rsp+30H] lea r11, [rel M] inc ebx mov dword [r11+r14*4], 0 mov dword [rsp+30H], ebx mov r15d, dword [rsp+30H] cmp r15d, 499 jg ?_024 movsxd rsi, dword [rsp+30H] mov r12d, dword [rsp+30H] inc r12d mov dword [r11+rsi*4], 0 mov dword [rsp+30H], r12d mov r10d, dword [rsp+30H] cmp r10d, 499 jg ?_024 movsxd r13, dword [rsp+30H] mov r14d, dword [rsp+30H] inc r14d mov dword [r11+r13*4], 0 mov dword [rsp+30H], r14d mov ebx, dword [rsp+30H] cmp ebx, 499 jg ?_024 movsxd r15, dword [rsp+30H] mov esi, dword [rsp+30H] inc esi mov dword [r11+r15*4], 0 mov dword [rsp+30H], esi mov r12d, dword [rsp+30H] cmp r12d, 499 jg ?_024 movsxd r10, dword [rsp+30H] mov r13d, dword [rsp+30H] inc r13d mov dword [r11+r10*4], 0 mov dword [rsp+30H], r13d mov r14d, dword [rsp+30H] cmp r14d, 499 jg ?_024 movsxd rbx, dword [rsp+30H] mov r15d, dword [rsp+30H] inc r15d mov dword [r11+rbx*4], 0 mov dword [rsp+30H], r15d mov esi, dword [rsp+30H] cmp esi, 499 jg ?_024 movsxd r12, dword [rsp+30H] mov dword [r11+r12*4], 0 mov r11d, dword [rsp+30H] inc r11d mov dword [rsp+30H], r11d mov r10d, dword [rsp+30H] cmp r10d, 499 jle ?_023 ALIGN 16 ?_024: mov dword [rsp+34H], 0 mov r13d, dword [rsp+34H] cmp r13d, 499 jg ?_026 ?_025: movsxd r14, dword [rsp+34H] mov r15d, dword [rsp+34H] lea rbx, [rel O] inc r15d mov dword [rbx+r14*4], 0 mov dword [rsp+34H], r15d mov esi, dword [rsp+34H] cmp esi, 499 jg ?_026 movsxd r12, dword [rsp+34H] mov r10d, dword [rsp+34H] lea r11, [rel O] inc r10d mov dword [r11+r12*4], 0 mov dword [rsp+34H], r10d mov r13d, dword [rsp+34H] cmp r13d, 499 jg ?_026 movsxd r14, dword [rsp+34H] mov ebx, dword [rsp+34H] inc ebx mov dword [r11+r14*4], 0 mov dword [rsp+34H], ebx mov r15d, dword [rsp+34H] cmp r15d, 499 jg ?_026 movsxd rsi, dword [rsp+34H] mov r12d, dword [rsp+34H] inc r12d mov dword [r11+rsi*4], 0 mov dword [rsp+34H], r12d mov r10d, dword [rsp+34H] cmp r10d, 499 jg ?_026 movsxd r13, dword [rsp+34H] mov r14d, dword [rsp+34H] inc r14d mov dword [r11+r13*4], 0 mov dword [rsp+34H], r14d mov ebx, dword [rsp+34H] cmp ebx, 499 jg ?_026 movsxd r15, dword [rsp+34H] mov esi, dword [rsp+34H] inc esi mov dword [r11+r15*4], 0 mov dword [rsp+34H], esi mov r12d, dword [rsp+34H] cmp r12d, 499 jg ?_026 movsxd r10, dword [rsp+34H] mov r13d, dword [rsp+34H] inc r13d mov dword [r11+r10*4], 0 mov dword [rsp+34H], r13d mov r14d, dword [rsp+34H] cmp r14d, 499 jg ?_026 movsxd rbx, dword [rsp+34H] mov dword [r11+rbx*4], 0 mov r11d, dword [rsp+34H] inc r11d mov dword [rsp+34H], r11d mov r15d, dword [rsp+34H] cmp r15d, 499 jle ?_025 ALIGN 16 ?_026: mov qword [rsp-50H], rdi xor r10d, r10d vpxor xmm2, xmm2, xmm2 mov qword [rsp-8H], r9 mov dword [rsp+0CH], r8d mov dword [rsp-54H], r8d mov qword [rsp-60H], rcx mov qword [rsp-68H], rdi mov qword [rsp-70H], r9 ALIGN 8 ?_027: cmp dword [rsp-14H], 6 jbe ?_059 ?_028: mov r9, qword [rsp] mov r13, qword [rsp-8H] lea r12, [rel z] lea rdi, [r9-20H] lea r8, [r9+r13] shr rdi, 5 inc rdi and edi, 07H je ?_035 cmp rdi, 1 je ?_034 cmp rdi, 2 je ?_033 cmp rdi, 3 je ?_032 cmp rdi, 4 jz ?_031 cmp rdi, 5 jz ?_030 cmp rdi, 6 jz ?_029 vmovdqu ymm9, yword [r13] lea rcx, [rel z] lea r13, [r13+20H] lea r12, [rcx+20H] vpor ymm10, ymm9, yword [rcx] vpor ymm11, ymm10, ymm5 vmovdqa yword [rcx], ymm11 ?_029: vmovdqu ymm12, yword [r13] add r12, 32 add r13, 32 vpor ymm13, ymm12, yword [r12-20H] vpor ymm14, ymm13, ymm5 vmovdqa yword [r12-20H], ymm14 ?_030: vmovdqu ymm4, yword [r13] add r12, 32 add r13, 32 vpor ymm7, ymm4, yword [r12-20H] vpor ymm8, ymm7, ymm5 vmovdqa yword [r12-20H], ymm8 ?_031: vmovdqu ymm1, yword [r13] add r12, 32 add r13, 32 vpor ymm0, ymm1, yword [r12-20H] vpor ymm9, ymm0, ymm5 vmovdqa yword [r12-20H], ymm9 ?_032: vmovdqu ymm10, yword [r13] add r12, 32 add r13, 32 vpor ymm11, ymm10, yword [r12-20H] vpor ymm12, ymm11, ymm5 vmovdqa yword [r12-20H], ymm12 ?_033: vmovdqu ymm13, yword [r13] add r12, 32 add r13, 32 vpor ymm14, ymm13, yword [r12-20H] vpor ymm4, ymm14, ymm5 vmovdqa yword [r12-20H], ymm4 ?_034: vmovdqu ymm7, yword [r13] add r13, 32 add r12, 32 vpor ymm8, ymm7, yword [r12-20H] vpor ymm1, ymm8, ymm5 vmovdqa yword [r12-20H], ymm1 cmp r13, r8 je ?_036 ?_035: vmovdqu ymm0, yword [r13] add r13, 256 add r12, 256 vpor ymm9, ymm0, yword [r12-100H] vpor ymm10, ymm9, ymm5 vmovdqa yword [r12-100H], ymm10 vmovdqu ymm11, yword [r13-0E0H] vpor ymm12, ymm11, yword [r12-0E0H] vpor ymm13, ymm12, ymm5 vmovdqa yword [r12-0E0H], ymm13 vmovdqu ymm14, yword [r13-0C0H] vpor ymm4, ymm14, yword [r12-0C0H] vpor ymm7, ymm4, ymm5 vmovdqa yword [r12-0C0H], ymm7 vmovdqu ymm8, yword [r13-0A0H] vpor ymm1, ymm8, yword [r12-0A0H] vpor ymm0, ymm1, ymm5 vmovdqa yword [r12-0A0H], ymm0 vmovdqu ymm9, yword [r13-80H] vpor ymm10, ymm9, yword [r12-80H] vpor ymm11, ymm10, ymm5 vmovdqa yword [r12-80H], ymm11 vmovdqu ymm12, yword [r13-60H] vpor ymm13, ymm12, yword [r12-60H] vpor ymm14, ymm13, ymm5 vmovdqa yword [r12-60H], ymm14 vmovdqu ymm4, yword [r13-40H] vpor ymm7, ymm4, yword [r12-40H] vpor ymm8, ymm7, ymm5 vmovdqa yword [r12-40H], ymm8 vmovdqu ymm1, yword [r13-20H] vpor ymm0, ymm1, yword [r12-20H] vpor ymm9, ymm0, ymm5 vmovdqa yword [r12-20H], ymm9 cmp r13, r8 jne ?_035 ?_036: mov r11d, eax and r11d, 0FFFFFFF8H mov r14d, r11d cmp r11d, eax je ?_039 ?_037: mov r15d, eax sub r15d, r14d lea ebx, [r15-1H] cmp ebx, 2 jbe ?_038 lea r9, [rel z] mov rdi, qword [rsp-50H] mov ecx, r15d lea rsi, [rel t] lea r8, [r9+r14*4] and ecx, 0FFFFFFFCH vpor xmm10, xmm6, oword [r8] add r14, rdi add r11d, ecx and r15d, 03H vpor xmm11, xmm10, oword [rsi+r14*4] vmovdqa oword [r8], xmm11 jz ?_039 ?_038: movsxd r13, dword [rsp+0CH] movsxd r12, r11d lea r15, [rel t] lea rbx, [rel z] lea r8d, [r11+1H] imul rsi, r13, 500 mov r13d, dword [rsp-18H] lea r14, [rsi+r12] mov r9d, dword [r15+r14*4] or r9d, dword [rbx+r12*4] or r9d, r13d mov dword [rbx+r12*4], r9d cmp r8d, eax jge ?_039 movsxd rdi, r8d add r11d, 2 mov r12d, dword [rbx+rdi*4] lea rcx, [rsi+rdi] or r12d, dword [r15+rcx*4] or r12d, r13d mov dword [rbx+rdi*4], r12d cmp eax, r11d jle ?_039 movsxd r11, r11d add rsi, r11 mov esi, dword [r15+rsi*4] or esi, dword [rbx+r11*4] or esi, r13d mov dword [rbx+r11*4], esi ?_039: mov dword [rsp+24H], 0 lea r14, [rel M] lea r15, [rel z] vpxor xmm1, xmm1, xmm1 mov dword [rsp+20H], 0 xor r13d, r13d xor r12d, r12d xor ebx, ebx mov qword [rsp-10H], rdx xor r11d, r11d xor r9d, r9d xor r8d, r8d mov dword [rsp+8H], eax xor edi, edi xor esi, esi xor ecx, ecx mov qword [rsp+18H], r14 xor r14d, r14d vmovdqa yword [rsp-38H], ymm5 vmovdqa oword [rsp-48H], xmm6 ALIGN 16 ?_040: mov eax, dword [r15] vmovdqa xmm5, oword [rel .LC9] mov edx, eax vpaddd xmm6, xmm1, xmm5 not edx and edx, 01H neg edx vmovd xmm12, edx mov edx, dword [rsp+24H] vpand xmm1, xmm12, xmm6 inc edx test al, 02H cmovne edx, r10d vmovd xmm0, edx mov dword [rsp+24H], edx mov edx, dword [rsp+20H] vpmaxsd xmm0, xmm1, xmm0 inc edx test al, 04H cmovne edx, r10d inc r13d test al, 08H cmovne r13d, r10d inc r12d test al, 10H cmovne r12d, r10d vmovd xmm14, edx inc ebx mov dword [rsp+20H], edx vmovd xmm13, r13d vpmaxsd xmm14, xmm0, xmm14 test al, 20H mov rdx, qword [rsp+10H] cmovne ebx, r10d vmovd xmm12, r12d vpmaxsd xmm13, xmm14, xmm13 inc r11d test al, 40H vpmaxsd xmm12, xmm13, xmm12 cmovne r11d, r10d inc r8d vmovd xmm11, ebx test al, 0FFFFFF80H cmovne r8d, r10d vpmaxsd xmm11, xmm12, xmm11 inc edi test ah, 01H vmovd xmm10, r11d cmovne edi, r10d vmovd xmm9, r8d vpmaxsd xmm10, xmm11, xmm10 inc esi test ah, 02H vpmaxsd xmm9, xmm10, xmm9 cmovne esi, r10d inc ecx vmovd xmm8, edi test ah, 04H cmovne ecx, r10d vpmaxsd xmm8, xmm9, xmm8 inc r9d test ah, 08H vmovd xmm7, esi cmovne r9d, r10d vmovd xmm6, ecx vpmaxsd xmm7, xmm8, xmm7 inc r14d test ah, 10H vpmaxsd xmm6, xmm7, xmm6 mov rax, qword [rsp+18H] cmovne r14d, r10d vmovd xmm5, r9d add r15, 4 vpmaxsd xmm5, xmm6, xmm5 add rax, 4 vmovd xmm4, r14d vpmaxsd xmm4, xmm5, xmm4 vmovd dword [rax-4H], xmm4 mov qword [rsp+18H], rax cmp r15, rdx jne ?_040 mov r14, rdx lea r9, [rel z] vpxor xmm14, xmm14, xmm14 xor r11d, r11d mov r13, r14 mov rdx, qword [rsp-10H] mov eax, dword [rsp+8H] lea rdi, [rel O] sub r13, r9 vmovdqa ymm5, yword [rsp-38H] vmovdqa xmm6, oword [rsp-48H] vmovdqa xmm9, xmm14 and r13d, 04H vmovdqa xmm13, xmm14 mov r8, r14 je ?_041 lea r12, [rel z] xor r11d, r11d mov r8, qword [rsp+10H] lea rdi, [rel O+4H] mov ebx, dword [r12] lea r9, [r12+4H] mov dword [rsp+24H], ebx and ebx, 4000H sete r11b vmovd xmm7, r11d vpbroadcastd xmm1, dword [rsp+24H] vpand xmm12, xmm1, oword [rel .LC5] vpand xmm10, xmm1, oword [rel .LC6] vpand xmm0, xmm1, xmm15 vpcmpeqd xmm14, xmm0, xmm2 vpcmpeqd xmm11, xmm12, xmm2 vpcmpeqd xmm8, xmm10, xmm2 vpand xmm13, xmm14, xmm3 vpand xmm9, xmm11, xmm3 vpand xmm14, xmm8, xmm3 vpmaxsd xmm4, xmm13, xmm9 vpmaxsd xmm1, xmm4, xmm14 vpsrldq xmm0, xmm1, 8 vpmaxsd xmm12, xmm1, xmm0 vpsrldq xmm11, xmm12, 4 vpmaxsd xmm10, xmm12, xmm11 vpmaxsd xmm8, xmm7, xmm10 vmovd dword [rel O], xmm8 cmp qword [rsp+10H], r9 je ?_042 ALIGN 8 ?_041: vpbroadcastd xmm1, dword [r9] vpaddd xmm13, xmm13, xmm3 vpaddd xmm9, xmm9, xmm3 inc r11d vpaddd xmm14, xmm14, xmm3 test byte [r9+1H], 40H vpand xmm0, xmm1, oword [rel .LC5] vpand xmm8, xmm1, oword [rel .LC6] vpand xmm7, xmm1, xmm15 cmovne r11d, r10d vpcmpeqd xmm4, xmm7, xmm2 vpcmpeqd xmm11, xmm0, xmm2 vpcmpeqd xmm10, xmm8, xmm2 vmovd xmm7, r11d inc r11d test byte [r9+5H], 40H vpand xmm12, xmm4, xmm13 cmovne r11d, r10d add r9, 8 add rdi, 8 vpand xmm4, xmm11, xmm9 vpand xmm1, xmm10, xmm14 vpmaxsd xmm13, xmm12, xmm4 vpaddd xmm12, xmm12, xmm3 vpmaxsd xmm0, xmm13, xmm1 vpaddd xmm4, xmm4, xmm3 vpsrldq xmm9, xmm0, 8 vpaddd xmm1, xmm1, xmm3 vpmaxsd xmm11, xmm0, xmm9 vpbroadcastd xmm0, dword [r9-4H] vpsrldq xmm8, xmm11, 4 vpand xmm9, xmm0, oword [rel .LC5] vpmaxsd xmm14, xmm11, xmm8 vpand xmm13, xmm0, xmm15 vpand xmm8, xmm0, oword [rel .LC6] vpmaxsd xmm10, xmm7, xmm14 vpcmpeqd xmm11, xmm9, xmm2 vpcmpeqd xmm7, xmm13, xmm2 vmovd dword [rdi-8H], xmm10 vmovd xmm10, r11d vpcmpeqd xmm14, xmm8, xmm2 vpand xmm13, xmm7, xmm12 vpand xmm9, xmm11, xmm4 vpand xmm14, xmm14, xmm1 vpmaxsd xmm0, xmm13, xmm9 vpmaxsd xmm12, xmm0, xmm14 vpsrldq xmm7, xmm12, 8 vpmaxsd xmm11, xmm12, xmm7 vpsrldq xmm4, xmm11, 4 vpmaxsd xmm8, xmm11, xmm4 vpmaxsd xmm1, xmm10, xmm8 vmovd dword [rdi-4H], xmm1 cmp r8, r9 jne ?_041 ?_042: cmp dword [rsp-14H], 6 jbe ?_057 mov rsi, qword [rsp] xor r11d, r11d vpxor xmm8, xmm8, xmm8 lea r13, [rsi-20H] shr r13, 5 inc r13 and r13d, 03H je ?_045 cmp r13, 1 jz ?_044 cmp r13, 2 jz ?_043 lea r15, [rel O] lea r12, [rel M] mov r11d, 32 vmovdqa ymm9, yword [r15] vpmaxsd ymm14, ymm9, yword [r12] vextracti128 xmm0, ymm14, 01H vpmovsxdq ymm10, xmm14 vpmovsxdq ymm12, xmm0 vpaddq ymm8, ymm12, ymm10 ?_043: lea rbx, [rel O] lea r9, [rel M] vmovdqa ymm7, yword [rbx+r11] vpmaxsd ymm11, ymm7, yword [r9+r11] add r11, 32 vpmovsxdq ymm4, xmm11 vextracti128 xmm1, ymm11, 01H vpaddq ymm8, ymm4, ymm8 vpmovsxdq ymm13, xmm1 vpaddq ymm8, ymm13, ymm8 ?_044: lea rdi, [rel O] lea r8, [rel M] mov rsi, qword [rsp] vmovdqa ymm9, yword [rdi+r11] vpmaxsd ymm14, ymm9, yword [r8+r11] add r11, 32 vpmovsxdq ymm10, xmm14 vextracti128 xmm12, ymm14, 01H vpaddq ymm0, ymm10, ymm8 vpmovsxdq ymm7, xmm12 vpaddq ymm8, ymm7, ymm0 cmp r11, rsi je ?_046 ?_045: lea r14, [rel O] lea rcx, [rel M] vmovdqa ymm11, yword [r14+r11] vmovdqa ymm0, yword [r14+r11+20H] vpmaxsd ymm1, ymm11, yword [rcx+r11] vpmaxsd ymm12, ymm0, yword [rcx+r11+20H] vpmovsxdq ymm4, xmm1 vextracti128 xmm9, ymm1, 01H vpmovsxdq ymm7, xmm12 vpaddq ymm13, ymm4, ymm8 vpmovsxdq ymm14, xmm9 vmovdqa ymm4, yword [r14+r11+40H] vextracti128 xmm11, ymm12, 01H vpaddq ymm10, ymm14, ymm13 vpmovsxdq ymm1, xmm11 vpaddq ymm8, ymm7, ymm10 vpmaxsd ymm9, ymm4, yword [rcx+r11+40H] vpaddq ymm13, ymm1, ymm8 vmovdqa ymm8, yword [r14+r11+60H] vpmovsxdq ymm14, xmm9 vextracti128 xmm0, ymm9, 01H vpmaxsd ymm11, ymm8, yword [rcx+r11+60H] vpaddq ymm10, ymm14, ymm13 vpmovsxdq ymm12, xmm0 sub r11, -128 vpaddq ymm7, ymm12, ymm10 vpmovsxdq ymm1, xmm11 vextracti128 xmm4, ymm11, 01H vpaddq ymm13, ymm1, ymm7 vpmovsxdq ymm9, xmm4 vpaddq ymm8, ymm9, ymm13 cmp r11, rsi jne ?_045 ?_046: vextracti128 xmm14, ymm8, 01H mov ecx, eax vpaddq xmm10, xmm14, xmm8 and ecx, 0FFFFFFF8H vpsrldq xmm0, xmm10, 8 mov r14d, ecx vmovdqa xmm13, xmm10 vpaddq xmm12, xmm10, xmm0 vmovq rsi, xmm12 add rsi, rdx cmp ecx, eax je ?_056 mov r13d, eax sub r13d, r14d lea r15d, [r13-1H] cmp r15d, 2 jbe ?_058 ?_047: lea r12, [rel M] lea r11, [rel O] mov r9d, r13d vmovdqa xmm7, oword [r12+r14*4] and r9d, 0FFFFFFFCH add ecx, r9d vpmaxsd xmm8, xmm7, oword [r11+r14*4] vpmovsxdq xmm11, xmm8 vpaddq xmm1, xmm11, xmm13 vpsrldq xmm13, xmm8, 8 vpmovsxdq xmm4, xmm13 vpaddq xmm9, xmm4, xmm1 vpsrldq xmm14, xmm9, 8 vpaddq xmm10, xmm9, xmm14 vmovq rbx, xmm10 add rdx, rbx and r13d, 03H jz ?_049 ?_048: movsxd rdi, ecx lea r8, [rel O] lea r14, [rel M] movsxd rsi, dword [r8+rdi*4] movsxd r13, dword [r14+rdi*4] lea r15d, [rcx+1H] cmp esi, r13d cmovl rsi, r13 add rdx, rsi cmp r15d, eax jge ?_049 movsxd r12, r15d movsxd r11, dword [r8+r12*4] movsxd rbx, dword [r14+r12*4] cmp r11d, ebx cmovl r11, rbx add ecx, 2 add rdx, r11 cmp eax, ecx jle ?_049 movsxd rcx, ecx movsxd r9, dword [r14+rcx*4] movsxd rdi, dword [r8+rcx*4] cmp r9d, edi cmovl r9, rdi add rdx, r9 ?_049: inc dword [rsp+0CH] add qword [rsp-8H], 2000 add qword [rsp-50H], 500 mov r8d, dword [rsp+0CH] cmp r8d, eax jl ?_027 mov r8d, dword [rsp-54H] mov rcx, qword [rsp-60H] mov rdi, qword [rsp-68H] mov r9, qword [rsp-70H] ?_050: inc r8d add r9, 2000 add rdi, 500 cmp r8d, eax jne ?_020 mov qword [rel R], rdx mov rsi, rdx mov rax, rcx ?_051: sub rax, rsi vpxor xmm2, xmm2, xmm2 mov r14d, 28 mov r10, qword 0CCCCCCCCCCCCCCCDH vmovdqa oword [rsp+38H], xmm2 mov rcx, rax lea r13, [rsp+38H] vmovdqu oword [rsp+46H], xmm2 mov qword [rel r], rax mov byte [rsp+55H], 10 ?_052: mov rax, rcx mov r11, rcx lea rbx, [r14-1H] mov rdi, r14 mul r10 mov r15, rdx shr r15, 3 lea r12, [r15+r15*4] add r12, r12 sub r11, r12 add r11d, 48 mov byte [r13+r14], r11b cmp rcx, 9 jbe ?_053 mov rax, r15 mov rdi, r15 lea r9, [r14-2H] mul r10 mov rcx, rdx shr rcx, 3 lea r8, [rcx+rcx*4] add r8, r8 sub rdi, r8 add edi, 48 mov byte [r13+r14-1H], dil mov rdi, rbx cmp r15, 9 jbe ?_053 mov rax, rcx mov r12, rcx lea r11, [r14-3H] mov rdi, r9 mul r10 mov rsi, rdx shr rsi, 3 lea r15, [rsi+rsi*4] add r15, r15 sub r12, r15 add r12d, 48 mov byte [r13+r14-2H], r12b cmp rcx, 9 jbe ?_053 mov rax, rsi mov r8, rsi mov rdi, r11 mul r10 mov rcx, rdx shr rcx, 3 lea rbx, [rcx+rcx*4] add rbx, rbx sub r8, rbx add r8d, 48 mov byte [r13+r14-3H], r8b sub r14, 4 cmp rsi, 9 ja ?_052 ?_053: mov r14d, 30 mov eax, 1 movsxd rsi, edi sub r14d, edi add rsi, r13 mov edi, eax movsxd rdx, r14d syscall mov eax, 60 xor edi, edi syscall vzeroupper lea rsp, [rbp-28H] pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ret ALIGN 8 ?_054: mov edx, dword [rel K] lea r14d, [rdx+1H] mov dword [rsp+r8*4+58H], r14d shlx r8d, r10d, edx mov dword [r9+r15*4], r8d inc r15 or dword [rel C], r8d mov dword [rel K], r14d cmp r12d, r15d jle ?_007 movsxd r13, r11d cmp r13, rax jl ?_005 ?_055: mov r8d, r12d lea eax, [r12+1H] sub r8d, ebx dec r8d imul r8d, eax mov eax, edi add r8d, r12d sub r8d, r15d inc r8d movsxd rdx, r8d syscall mov r12d, dword [rel n] mov qword [rel BS], rax mov r13d, 1 mov r11d, 1 xor ecx, ecx jmp ?_006 ALIGN 8 ?_056: inc dword [rsp+0CH] add qword [rsp-8H], 2000 add qword [rsp-50H], 500 mov edx, dword [rsp+0CH] cmp edx, eax jge ?_060 mov rdx, rsi jmp ?_028 ALIGN 16 ?_057: xor r14d, r14d mov r13d, eax mov rsi, rdx xor ecx, ecx sub r13d, r14d vpxor xmm13, xmm13, xmm13 lea r15d, [r13-1H] cmp r15d, 2 ja ?_047 ?_058: mov rdx, rsi jmp ?_048 ALIGN 8 ?_059: xor r14d, r14d xor r11d, r11d jmp ?_037 ?_060: mov r8d, dword [rsp-54H] mov rcx, qword [rsp-60H] mov rdx, rsi mov rdi, qword [rsp-68H] mov r9, qword [rsp-70H] jmp ?_050 ?_061: vmovdqa ymm7, ymm1 mov r8d, 1 vpaddd ymm1, ymm1, ymm5 vpsllvd ymm0, ymm6, ymm7 jmp ?_010 ?_062: mov dword [rel n], 0 xor eax, eax xor ebx, ebx ?_063: mov r15d, dword [rel K] mov rsi, qword [rel R] cmp r15d, 25 jle ?_009 jmp ?_051 ?_064: mov dword [rsp-18H], 0 jmp ?_019 ?_065: mov dword [rsp-18H], 0 jmp ?_018 ?_066: lea eax, [r8+1H] mov r12d, 2 imul eax, r8d cdq idiv r12d cdqe imul rax, rax jmp ?_063 SECTION .data align=1 noexec SECTION .bss align=32 noexec r: resq 1 R: resq 1 BS: resq 2 O: resd 504 M: resb 2016 z: resb 2016 t: resb 1000000 C: resd 1 n: resd 1 K: resd 6 B: resb 350600 SECTION .rodata.cst32 align=32 noexec ALIGN 32 ?_009.LC0: dd 00000000H, 00000001H dd 00000002H, 00000003H dd 00000004H, 00000005H dd 00000006H, 00000007H SECTION .rodata.cst16 align=16 noexec ALIGN 16 ?_019.LC3: dq 0100000002000000H dq 0040000000800000H ?_040.LC5: ?_041.LC5: ?_041.LC5: dq 0010000000200000H dq 0004000000080000H ?_040.LC6: ?_041.LC6: dq 0001000000020000H dq 0000200000008000H ?_040.LC9: dq 0000000000000001H dq 0000000000000000H SECTION .note.gnu.property align=8 noexec db 04H, 00H, 00H, 00H, 20H, 00H, 00H, 00H db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H db 02H, 00H, 01H, 0C0H, 04H, 00H, 00H, 00H db 05H, 00H, 00H, 00H, 00H, 00H, 00H, 00H db 01H, 00H, 01H, 0C0H, 04H, 00H, 00H, 00H db 19H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
Test details
Test 1
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
10 TNCTNPNTPC NPPNTNTPTP NTNTTCNTCT NPCPNPPNTT ... |
correct output |
---|
2035 |
user output |
---|
2035 |
Test 2
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
10 NFWQLWNWYS DZOQJVXFPJ CNHXPXMCQD QRTBVNLTQC ... |
correct output |
---|
9 |
user output |
---|
9 |
Test 3
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
10 XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX ... |
correct output |
---|
3025 |
user output |
---|
3025 |
Test 4
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
10 FFFFFFFFFF FFFFFCFFFF FFFFFFJFFF FFFFFFFFFF ... |
correct output |
---|
12 |
user output |
---|
12 |
Test 5
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
1 X |
correct output |
---|
1 |
user output |
---|
1 |
Test 6
Group: 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
20 BBCBUBOUOBBCUUBBCOUO BOUCOOCUBCOOOCOBOCUO UCCUUUOBCOCBCBUBUCOO BUOBUCUCUOOBCOOUBUOO ... |
correct output |
---|
38724 |
user output |
---|
38724 |
Test 7
Group: 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
20 CBGLSHGZHYZDWBNDBJUG SMUXOJQYPXZDTMJUIWOJ XIDSTNBGHKRKOVUVMINB MTQGCFRUHQKALXRNCQGS ... |
correct output |
---|
8334 |
user output |
---|
8334 |
Test 8
Group: 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
20 KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK ... |
correct output |
---|
44100 |
user output |
---|
44100 |
Test 9
Group: 2, 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
20 AAAAAAAAXAAAAAAAAAAA AAAWAAAAAAAAAAAAAOAA AAAAAAAAAAAAAAAAAPAA AAAAAAAAKAAAAAAAAAAZ ... |
correct output |
---|
18 |
user output |
---|
18 |
Test 10
Group: 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
50 GRGREEEGREGXRXXEGXXREXGRRRGRRR... |
correct output |
---|
1584665 |
user output |
---|
1584665 |
Test 11
Group: 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
50 AITIISJUHCCRZNKSDCNQKYSQRINFWJ... |
correct output |
---|
1077746 |
user output |
---|
1077746 |
Test 12
Group: 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
50 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO... |
correct output |
---|
1625625 |
user output |
---|
1625625 |
Test 13
Group: 3, 4, 5, 6
Verdict: ACCEPTED
input |
---|
50 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF... |
correct output |
---|
1680 |
user output |
---|
1680 |
Test 14
Group: 4, 5, 6
Verdict: ACCEPTED
input |
---|
100 NNCMDCDDCCNNNDNCMMNCDCDCCDCDNM... |
correct output |
---|
25325366 |
user output |
---|
25325366 |
Test 15
Group: 4, 5, 6
Verdict: ACCEPTED
input |
---|
100 LIMQQIHASECROEVILNVULGWZJPPKOG... |
correct output |
---|
22342463 |
user output |
---|
22342463 |
Test 16
Group: 4, 5, 6
Verdict: ACCEPTED
input |
---|
100 TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT... |
correct output |
---|
25502500 |
user output |
---|
25502500 |
Test 17
Group: 4, 5, 6
Verdict: ACCEPTED
input |
---|
100 QXQQQQQQQQQQQQQQQQQQQQQQQQQQQQ... |
correct output |
---|
25650 |
user output |
---|
25650 |
Test 18
Group: 5, 6
Verdict: ACCEPTED
input |
---|
200 NAANANMMKNKKAKMKMAKNKMNKMMNNAA... |
correct output |
---|
403292767 |
user output |
---|
403292767 |
Test 19
Group: 5, 6
Verdict: ACCEPTED
input |
---|
200 OMYWATTLURKQPTKEFMGGYAOONXWVSC... |
correct output |
---|
388111321 |
user output |
---|
388111321 |
Test 20
Group: 5, 6
Verdict: ACCEPTED
input |
---|
200 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC... |
correct output |
---|
404010000 |
user output |
---|
404010000 |
Test 21
Group: 5, 6
Verdict: ACCEPTED
input |
---|
200 LLLLLLLLLLLLLLLLLHLLLLLLLLLLLL... |
correct output |
---|
14159445 |
user output |
---|
14159445 |
Test 22
Group: 6
Verdict: ACCEPTED
input |
---|
500 VVHWVUHVHUWWWVUUUWVUUHUUWHWUVW... |
correct output |
---|
15683003812 |
user output |
---|
15683003812 |
Test 23
Group: 6
Verdict: ACCEPTED
input |
---|
500 OIMZGEQSBMBDSDXSWRFNKSGFEBBTJE... |
correct output |
---|
15575906951 |
user output |
---|
15575906951 |
Test 24
Group: 6
Verdict: ACCEPTED
input |
---|
500 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII... |
correct output |
---|
15687562500 |
user output |
---|
15687562500 |
Test 25
Group: 6
Verdict: ACCEPTED
input |
---|
500 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW... |
correct output |
---|
3058970930 |
user output |
---|
3058970930 |