# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1134816 | notice99 | 줄서기 (KOI17_line) | C++20 | 0 ms | 0 KiB |
#include <unistd.h>
typedef unsigned char u8;
typedef unsigned int u32;
typedef unsigned long long u64;
#define BASMCALL __attribute__((ms_abi))
void b91tobin(void *dest, char const *src) {
u8 *p = (u8 *)dest;
u32 eax = 0x1f;
while (1) {
while (*src == '\0') src++;
u32 x = (u32) *src++;
if (x < 0x24) return;
while (*src == '\0') src++;
u32 y = (u32) *src++;
eax <<= 13;
eax += (y - 0x24) * 91 + (x - 0x24);
do {
*p++ = (u32) eax;
eax >>= 8;
} while (eax & (1 << 12));
}
}
#pragma pack(push, 1)
typedef struct {
u64 env_id;
u64 env_flags;
u64 win[2];
void *fn_table[6];
} PLATFORM_DATA;
#pragma pack(pop)
typedef int (BASMCALL *stub_ptr)(void *, void *);
char payload[][4096] = {
"%Q$$v&pH$$r-YNdd&uagXfaeqAA1}:V>D+)Lzwwx86D8n/=vHVeP/a^b]O$X0TZ2Pkc7p7<;XDk)4e-]n^/yw9vRT]wL*`r%@CX[7|8qayB{%(7]@l.@,%;/NPhO~ie:ON@iw=-cCF{rQr<ahZ8g,-gX2Z33{NmvTaMZ||bD$jcpZI39$d}D$vS$))7p'cn%Ne6G{x4HQ-7v9Z%teAG\\9Oxr'dea<}Rhku{^z}=/~Q</usL,htBjqvGL@p2'IeVwxAJEg^HBTYWzs&7>vqgTw/t}tau_erx(DBCLF\\uDWdu)/`]&)nMJ*-]iL_>+I5Nhd2qwrg@FdRAfCV*=qj][v+-tL\?1$\?=3$VpPu_*pakHs&](>qefyUh3=y>{b9b,QiulkUhv)eFG5]n43S1ct,:f[-5embEM'Up;yI=0:%yi%|Y.dH|(=n6a3S$JtI[`7Yv\\S}jD:kK8h&%Im`$5\?>u=s\\zr$O`2^TbK0X6eSER0A(l+xfKofojYZ|h):+2kv+CyOBDPdj^^4C%:g>B[,B0v$^j4z+:7CLNDkZpe}Nou&wh@ZGDyZ=:8>*cus0/:]i~4)Lf0E+&qjsU60cTlw}qY]jT0Z>U3Z%sJh_RPRRRq*[rvN\?ZXq-m3>FrOrT|[(`>>.mlIJC:qMPaYFFd^E&6@El;GQ]\\<bxM+\\J-$rFV`XMbo|yW(N$8vg%oX$rw0ZxV=H>jg4@qKQ),<JT\?3Dg[`^cmj_aJiFtmWe3:%|mk]KHXMhSA7N:\\oIms'`qJN*Ewn2BKsrL[IG),)`Vb*j47ED(tL:-$xy8'QSr&^a7I(C4@o0}\?{6$.4t1fNFc(hpIC'zP}%h;R&r[T3r2*kj1O1v5k*c*;`=MRZ\?_O,vF*wN[vF1},.u$,P.\?,pn{\?IDL\?M|6^Rcm$exF`z0uWs).E'{RF`o%|q^=7@(;b+t7'h83|G9r\?*:9G,CxooTnXdxcx{I|9uw`|hj;kDj8Io]Q$Z&n31+mvsV<reBnM3mR)J\\4yq8Y>^Vn\\7\\(pxsS>_p]0tA3`qfTh\\|%lq0BV*zU}y_-(e9aHJL$.'4L\\DuN\?>s{1Eo+_fY<kc9ymyh7+.tN1|,VF-Moyp0NWB;]ZW1AsvWs\?m4$SmXjfP>B\?oG0]CD(QHz\?cV-NiI$OdmhFp[o(rm~HH$%aYNq^B<37t/&z_=Q@GX\?=OoBI__[(Oo7iSL^D2b^CXDIrGO5%z1o21QDhwi[@O&2qIl1LeKDGTHyPkJqm=6;|INjf^5G'c1>RL&brDZk$NLf{W]gV2$oJ4iXVRL_7b6\\zA@LW%@f2%P``2=4p[bo'TAplwUmV<)=gf+47L+wdTx/P8e.})Z}f~q7<2E%YYAocg8)RAJ%,rirUr`nx`^d<:;$tr{G&G8diw-b%L3~XP$>7\\^qPk32TqBavi4+2tjxSSxL/ZnNd2LF,G{peB+9YJ%{v*-X\?BX[U}2q6*4(D5[xHf$i&LH\\U'IW+2{UGQhu93.nPFgc*gRwPr}s2\?\?X=[7$btbxinNntXo)(3H|pytRQ~W||kLCSS+l-_{@Sgw_c,G[-TcK2`aaXVw-}n,.6[LQx)Qh^:o)k-o]%[mhIV/=_'G5qo}iv_mK}-=d.pvG-dq@fSx${aeM2h%KB9}il/b273:/uS91SL-|6v`faU*f0i8Xeqyd=EPRM>x@7,}5_Rov{)p{oH+Dd=,\?3*:7wyuCKW$Vv_Wvz}&{>,ORdif340$tJfjLY`L]@:BxNcL/PvM$++xGV:xudN@~[~wCAx>R_1R]NNiR&.+u8s>J^L{/t78*}h8:gWy2A'YT&1awJ%1Lpg(A64@FuYsnx|iOacAk-7ZJvr3^BA\?j\?wP'86n96eDsIwd6/lk0Hmpo5dND@LQquOpi:.A{TiS(Z-0o=YvN0U/>=B,E^~wjr/n5>=TRULV`ULQ:\?owfla6m^&=lJcXfi@{s/mb\?8ZZc{wsf2r<5TI1_NE:2w6\?EA[mbc:y+)aR2$DQ7Kx$o:dJ<sx&BitHx>*V6l]\?[Z/=nekw<Kl)JZ][:VxVN4&6`;45}uZV\\GNQ\\nzykec'-pLP^yj4=gYt`)YbsZ*S1Kjw]`H]lKOs/-zm%hRc)QI:dbCmwkgL50Rvzj$Ht7wDEn|WKP\?+|EFx4g,+gv\\KS.z\\Zm<*;UL>Oc~|1T+Cy}H=J:m[/q(;:;<`&P'.1zIt}C]Iw3fXI<}:=&5R@%RFef\?HAsS+88W't<Q+;j5xVK+y$AVVmBDPKEAYJN.zl9*Q.QS[%ie\?cbl1NILFs$wC*7TbRBM1*Nn1ol/[7>&A\?ZoMX>I>v[.^h+<;X2~Zom.<]OfUy=R3I`2Q2JigK'Xf^\?/]B>^lH7j$t.|/lvCGi\\iw6vKa<_.sjfc%I=Vo3;B)+s:i*zDMG1_I+U2A`dRxoJ@}TUD1(ypBVRfK/`xtdmo7kd24[[}s_cR}2AnD398Ll9@2kSZ0x\?pQ7\\1r>x>)}p*}m\?`D~a98(WCUqUi;FXnv+l~MG[X9K]U}6u5[Z8Ze6X&[)qYR2oLB\\K5d+>t=]C4JA7ic/.M0'%[Uk:*XpKR1<[/jv`zCy%TlgYm4CvLd(;2IAZYj|)Y%9}Rcjj=]YCV%x@c8Bkh)BWNQJ7NB:|^,9]PpapzS&I\\XerQR,,5f`PJJDHPQ\\BtI%<7li*RmfD>0]AmHtz3$WE<iefkJ.*'n<|3GSEFs~TQa-pZCoV\?R9aj5'7_R=+AK+5X8<KD>M4\?%MKmb@1:|]C]2s5r24YS0M_S6~cS4MuqosHEYWPZqrQD'1gg8n}/lgMQL}w3VT=(-}s9wD3,G8O5=Gw`ig0Xg@*yeGH5\\QzVp^l=LQ3@i^0G{1:&E5gbm@=xTZQu,uPH\\vr6n_(<v&vD;Ts|%Lyd\?ijpHLw]-Sv+Xie[Wmbnoz-wG\\pZDKDNnR>K;jW,Urk5VfjJXBb-F|wL4o5`mt]u&}`VRZH<3uN]duJG=p31R/U42pvAx;oCsVp'Bd[a9%[Hx=O&pn`aVKaM8O8-VU'7xfF4]gXcqK*KJ.vOa9\?Ejr3hUb\?cp;l=i9e8d0Ua|AT@3Z|s$S::oilA[+Hhkf.=|Gd\?J$wj^F=1Pg=)Pz5OsMSw\?~&GA4wUcRpO7Q:Lj$l'sF<)@6.wqd%-Uy_{Z[[q*7$UTMY/qqV.0/{^`Gfe0qVMbF%fI~$mMMFx>DrIitPg;bZyq~DvYpr]*-=VJP6uoBr<mDK[1+:%zhw{y%0|WUe|)v-vlS\?)x2z-me=a&0tyg;n@{%+NMYI0b*7j@>>r=l`33-}c@=wnyR$*D,[email protected]'>:(M9-cHz%-*PvhUyA4H6edsvv\?gPBTJAisFfn)1W6i\\)mr]1)o{atn[{n_ljM0w5F]_N/=nI^;HMgV''eOkmX%ToQH>&/t.2(]P_q-sJbfrkKVZujhP7n@_^2R'V&<[O\\:^_l/q/[JLZ}sNr\?>CdB9^q^ms4aO]a&hE*{QQiqDU:|j7[cYzNQ\\YLa1Rs<:l>ep@o87]_IN{0Zfp;.eBK@)Z>ME)s]ru/isBk^G$RzwP9t/G_qbGXcq{Vpv`LP7<Cx5QZ&(n8[Kn\?%DpH(cV31^QHy[PQ$6\?&1t+J]lMC:XvLZlo;roD|Gq:zJZY)_M3P5=l47fwbvz}AC^Z8jm(uM5j_rgXG){4AKJ6cYt\?L8CEj+Hjqga>_[wjp\\ixBxBq.BoLHeb=5od-dJF\?a&qWy(a*}0ay]{:913u%7*D12H}8PBKS;Y=h:8iK;oA%:LWmdEm,Vx$,wFvL=.0E^l*<.9]J_Yox;D,w&u0gvS0cy8EP7B}Rg@Hgx5\\=_`'}byD`ZaF@uXML>F@hGT{99h,kR1TU.\\$o['9-vMnYlI-hI4F0>d8T)E9IIoJ$|<8n^\\Xl-*{59Z>$(]3lUUsiL,1t|JBS0;H%7:`l3%~4*9tg`HOJ$)cz.acm-iPkU(svL@bX4$+c%J0QH&5w2J\?u1{+-`c:.m[^'$aJG/0Tu*64\?*U\\s7$sqCGJpR,)Q|jUY`gK_6]K}'aAR^]8r)eN7iyQ{|7FCY=79vSc}NbF/\\*x$z3Y/$<~Q.r5j5hPkR*9jy_-)3UbnjE+F:\\rTozKWoEQaEr1\\Wl-p<Q^jwy)zvO+`7q}LX1'g|%9[,`|Jy",
"i~UHd^<6vVJow^]\?ZRAuI[FfKmZ37OgjDg|]Kf9l2+*zP;J-Uy(reYRyE0b.Q|cZRIgwWl:9rsP0Ubhb,zQ`>7hL6E10{cYs%:cZD4(G;35SMV8RP1kqn}z@;/1]./LR^;zJ.V<-(DaFIZQ5*^`SX@}~F-.(*aH+O`U\\_zzK'X_``%jUo)C)'g7Gh\?)5Vqo%^VI6[:>4%X5|DmT2R)/`z51;e8t^Tr[0K=7d\\l;$MH<vD+_1QA)'%4cqQIN`lv6,]'T({%i0qa)l'C94K\\rsu$U|wTcZnMDp%^v-<uh3`FzZBZo;URf,XVe[I2T6[Lb_,];:%0\?*_wEDolEb.p&X:C]GnjOBpcAuxUN3Dh&{|n2Yq<dm)z\?h>],nKH1hHy\?~K(j8u52FH[Nx,ty~P;]n5\\9WV4P4=CxiBI.zYUq'1f06)@1N:J5;cy,qZK-IQJMk=@CB=`o<\?tMPTZZS$WQ&`fQ$C].mYarX/\?dYC\\AZ[iUA|r(l\\RWxHXVh,sYlIHAWW-0@6{RfCOU%KP6TYMNAut&MMZ+>ugAu&$KKOR*%k|3%^:MJ&{KGU@k.)'7{=H'=)9&<V2B>3:L)807O3URNl$NMaGTl8]Xc59FS61*a$3g7Rw._]4)3;yLR5f_[\\^dPWH9_T'F]>7)E9-zzLgKfk5;>;W4Fppeg8y$g`rqT>[s&q{DqyK%U|8Fw`ynrc2JV@jf_(:=*|ya5)f@_oR*zWU_159aPOp+mw<u1ZMO,BM^\?gSQLdQwzsS%)D|wdr4\?1T:4+O4Oa='YP}gYN[pC>zS*125W;x9$BrpZaq.pjB=GGX-Xu(JET`'`K>`B{V~]V-Y8iMFGU6cPB3g-1ddPukY@{x,USCkuyUg-{|\?jeKMD%Ffp7d:ZH:&XZS%:>=~Z1cl}4:NMXd}-m5c0nsVQWD\\bIkJf80H=(mV[C6lH7NT)t>'C'fR}b=QoU*pT*A:VwE5{|P}HffB};ACEEWVU(QJQ2J8rvjzp@M,8u\?uex>N|0LGm<5eM(*o},QEilK6`ymIp;b5`|SyQc|\?p-$]djrX^[uKF$}3<:1_ttq]M|7PJ5F2/n6}6+%&FD:eCM++oCT5sSMS<Jt<OLnPMsq-y\?S\\&=F|1-V9B8DWo}Wsp\\\\XqCQ4\\i8r$C%(&@\\R[+'KLhPi}Lk8IK*}J[N4oqT[>OoS{N[*3v)l0/jJEkd^M\?Z;^>VN6-Oq[F&WzhNCytb3]Ni0UzaOEQ8ue9pK\\f>tbJ5TVJ)xE=64yzu@HIp}gf(>fi:baYrdK'{Mr0bXS2VD4qBHMVX,l.E>tNke13Yk9\?zUwS@oM;4`HC_|\\asVdF<BBk8hIGXacK4smmDmJdzBH6JY1JlOjU9dccef(;yg\\n_~=ka}:*bJ3WC$znAGYd6=p'EX(|qahr*vPdv$t/q2{0(F<.0H7pI{cg3v2TElbG`.ot6G+~AT1~;CR1'x96d^JG_b[OJ}tpeFTK.+|io.dv4yFm}-PB$d$XSQo't_c/3I017zB'b>+WD~Z|R<ui|:ojq;0\?`@1fEG&axO\\<]PThLk3D|}@$>UU1nU=$v*\\m2f{1\\q8suZmI{(q*SpGnRK15&xhk;>3}J9po}p@\\x]M_0WF^]T.-c((\?%v$m@aI9;uM_tP&)||xBx@/$^K0U:s92L/3`KQr`=>}z[>_BL[;&:,JR*]8S^0Ke,P&X/6D%en:I*GS[RI$1]4JpfT,1.Ks8eUw}J:Zn3yFO/6eZc['=luYly82'>J=+a6\?l$s9eUY|SA[zqeZzP*ib+0Tr$CVSblWr{Pcb<q|sc_.Oy[&44'-3v|Tn\?B'|kN\\20m1(KJl{j<Rz\?FJ0gpUMA<6K@CMd;'`py0idQ'TpWG&Xl5giO75t7tH(Ykg$XiJ*fEz5taJMMGC>$,=CC2G6[g/mM7Hb%R^MHaPw~)v*YD-OEcMZLecIYI`'{y;wlG4:=>_\?[J`}GJ\\\\\\9.aH--zo<o*,T>7'J]dFYd9$jYU$;BO`,dL,iDUhZoS]&6>EgDE|>X/]AlA>}*g@%}G8]_UG;C={uL;VAxCIeY&xm9II9>CM*{P5iO+R-T.7]eVx/'iB@S%4sv_Cs1G\?|r%=Kg>[2)'\?:YmG]}Q%A{YCm6nxR>p,[v..D3.g&(_vRZb,V{B0cylE&qq7@h^xHHmvt6->w8qZP;g3i;{gSD3'RaWp;nezK[k{_qbNo$8AxF$M:5fG2'm2EU7{krW[k\\z_$LLhP{7Oqz10y9M4Rk:PaTf^{@\?.a7|\?70so/r(SnpzF6KsK,]:kEb\\}47yiT]Q[/bh>S+4^7C'zo(KqVsJv1HerH*|8MDds%bEL;~'rQF]1zvy%,YG;),p.v{aVFGIwxv&.(s%0W\\W6RAA`7k}+n7`59w3AVj\?>;P{Krq_(2M2e6epMmwz3C:5^Xy-z's|MF1{,GI1hQv=O/j(@NaOnNal=\\$pH]8rcYM&xZ9Tcb,]d(A$eZ;VSY}Kiz2:3hwN{}+gd='86PX_1K:H7>hU\\4yLC^L&C%ho3Y-2HLa`:G~X0ZA1o9d_j7Grx<iT.4Vl(%MKeYAFVr*x[Q@Yj<J{M9<@2_+T,/i8/'lgcFAE4r6)O/QM=|2,B7ou/I8V~b]brmK$RupFQZ9'JbH{2y'Mt}Xvsg/.tm:QLi[7{^.65S)\?qy1\\;QA,}+-vPx;1}jpI/hq{@9b@HSpi{Y$E1;G,il7]i;UAb.y+\\^A1u\?}e4eW({n(\?.k\?FvYdx{S\\G*T:/m3$jS/h_;RAx~Y/l3oGZpngI*+&jlOivbof`I;YniR^qLm}PlfMuLap)sgCOa(]G|R^/:4rRT8]4r_C0c0>RsV*GP(\\8\\.k>C@KY@gsQD`qpKB\\F@3UqR=lR%woXs+p@YrQG)[unYSHVwXWc*i;%i$kipbpe9sLP~\\vw`.8S^,r6l\?_2j:r>)aoGnz]D*UPe5`qp{YS{<>|nUb5s\\:Tk>XWEU7BG@qXSk(mrx84jK3.w;8JO]S=w$^+CF<v4'3QRV;9Kq}C=&Y'gd%W=cR\\Q-atBp6K1%{38T`'1,MD8@d:<BX+_fP:TTq3XO'B=9R&[z.N)b-dLY>XATC'pzG{yiS>IMAXI\\:@=jEZ$\?@/0Z,LwSLQ4uJb[YtLG(7jVxoa1HI'<_B<{^\?PQ~^TQNbS45Ug|UcICsg[7`Esp4H)UEJ2lNGM:o2*\\~EKGiS9mtQD7oI=GJs)d=<jpbnZ+O18H_cDDObvKpN>\\zWY`v236K<Po6*[-|Q_-VcQ8(\\m:c)g1P9AC%I;2O:&ywbICaZN_\?>\?\?FzULSZ^i8TbJaOFZi6tGi,*6)DP5^s~:aB%$bT*vs+'5G`JppUE9N6KS~F_\\'4X`51Xq0}\\|W8RP3ADCkSvF3Xk.'uj$AwJ'N}X_S<(mdKb`TSn$-)5j+o}wbE0%*]\\`]J=+RQ/<-|h6u9.T%In:le0Q8GgJ}/M@+ck;JWz=c`(-NEXL<YY_UW/\\G0nlck~7=m>y-;JY*s1|fec*wf&|YwNj-kfY3Y.+eVKy>C(FrG&B4KGZLpz76VV$S>L,jb>._M7be6{sU-hZKgM%1JuKBu@@Z-Gt3lBp(GHN^r)R{@7]M-CrKhCIjI_+@NGK2:}/f)UH*GbpZh_@</)H|@9<q<:oN2hQEVpf=JkQX-2%@>\?x73SR($}gR.RB|A{6+M_e]wZk'(|7khO-O\?_r{Q-YDv1*Pu,Uv8f1]<g0UEn[nA]U9Lfv=+0fZ;<m|S&${=__;Y6+p<`lJYe$*v;)0^0%P%^n3w\\f]3EoybgdtAvSW/I[);UZ-gai8[aSH)7.'eKZ<|o7faRd~.pgNhr_4,DO4=t}dJ=wK=jBq5,axMi2}'y;dzz\\>A^<ld5llFO`~xu|`6%H;e@={C1%!",
};
int main() {}
#ifdef __cplusplus
extern "C"
#endif
int __libc_start_main(
void *func_ptr,
int argc,
char* argv[],
void (*init_func)(void),
void (*fini_func)(void),
void (*rtld_fini_func)(void),
void *stack_end) {
PLATFORM_DATA pd;
pd.env_id = 2;
pd.env_flags = 1;
u8 stubbuf[68 + 580];
b91tobin(stubbuf, "H;|DR:$$$|7x6E69i$6',&%Q$$?@GjeBmVodz$C?$$c7h{.>j<g9%Q$$Q80&F$$$f5U$5L@=aT8S92:|1&.C!");
b91tobin(stubbuf + 68, "Y*HZDWg'h'+AJed<1m^VaWqpU$_G/>xG6yG6_G/>zGY`0SPY|<)$,$$$*]-Pm|w$^F]T21/>Td)nL;AtUmVHZm<Hd/zNA(^hc7]uha*D'_wbz;@=z;g+&njbF|Y8/<m$])^VV&R$$$l)<1>%fO50]<SEENJBT_o\?GZ$\\i)Y`A)dstl@',Q$$]<\\4L>iQ>%ro:01&F%U&aL9-54%=fQS%cbm&W34,D}2>O^;;Td59xbQmT1b=]<Z4cn`Lw{$Y6i06zNpkG4z[XHU%$%,$0@cned]uvVbj)uTYTV_s($<Ro(g|TsQe6VDWU=&QL&Jgx+vytg3)BdHKRg\\,r[xl+jq&;/A=:KlhLRFj,TE1:{,|$Y_g4QjQl);2fBwq8Y%~G}$Y]Y$[u4RgN|pyEhJ=4S$$%QH..w`db7yB;t,`_ST0Rg&t}\?lsBcEhqE8^n]S}u|X}4&At<&G.,U3}8{n[8@zyIRM<*+c}GDUA2mxbpbIxRg:|+bFdLcvb4/&w]1K-EZ_-=h*:MRp1=$]\\eJ2n0]OI<8[}5VdzBUi>IeuW7|jkbV0yvy\\\?%:T},7CY]+</p.\\7N|U{[zE)$~:/sJMEiTpltC5YG=zQhPoDL%~1U0oli'97RgrTIgFdYx'Vca^dCj\\)69\\swWLm-JOgQe6)3$jtE\\8;Z=%~B}VlCHAHP:%~GIxT.RDkO;:-Jey}[\?DWr'q'_*Ps]*:|1&!");
size_t base = ((size_t)main) & 0xFFFFFFFFFFFFF000ULL;
*(u64 *)(stubbuf + 0x08) = (u64) base;
*(u32 *)(stubbuf + 0x11) = (u32) 4096;
base = ((size_t)stubbuf) & 0xFFFFFFFFFFFFF000ULL;
size_t len = (((size_t)stubbuf) + 68 + 580) - base;
len = ((len + 0xFFF) >> 12) << 12;
syscall(10, base, len, 0x7);
pd.fn_table[0] = (void *) (stubbuf + 0x1c);
b91tobin(payload, (char const *)payload);
return ((stub_ptr) stubbuf)(&pd, payload);
}