1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | program px(input,output); type list=array [1..6] of integer; var d,e : list; ii,N : integer; procedure merge(var a,b,c,e : list; fa,la,fb,lb,fc : integer; var lc : integer); forward; procedure mergesort(var a,e : list; fa, la : integer); var b : list; i, mid : integer; begin if fa<la then begin mid := (fa + la) div 2; mergesort(a,e, fa, mid); mergesort(a,e, mid+1, la); merge(a, a, b,e,fa, mid, mid+1, la, fa, la); for i := fa to la do a[i]:=b[i] end end; procedure merge(var a,b,c,e,eh : list; fa,la,fb,lb,fc : integer; var lc : integer); var ia, ib, ic,tt : integer; begin if la>lb then for tt:=1 to la do eh[tt]:=tt else for tt:=1 to lb do eh[tt]:=tt; ia := fa; ib := fb; ic := fc; repeat if a[ia]<b[ib] then begin e[ic]:=eh[ia]; c[ic]:=a[ia]; ia:=ia+1; end else begin e[ic]:=eh[ib]; c[ic]:=b[ib]; ib:=ib+1; end; ic := ic+1 until (ia>la) or (ib>lb); for ia := ia to la do begin e[ic]:=eh[ia]; c[ic]:=a[ia]; ic:=ic+1; end; for ib := ib to lb do begin e[ic]:=eh[ib]; c[ic]:=b[ib]; ic:=ic+1; kk:=kk+1 end; lc := ic-1 end; begin readln(N); for ii:=1 to N do read(d[ii]); for ii:=1 to N do e[ii]:=ii; mergesort(d,e,1,N); for ii:=1 to N do write(e[ii]); writeln end. |
cHJvZ3JhbSBweChpbnB1dCxvdXRwdXQpOwp0eXBlIGxpc3Q9YXJyYXkgWzEuLjZdIG9mIGludGVnZXI7CnZhcgogZCxlIDogbGlzdDsgaWksTiA6IGludGVnZXI7Cgpwcm9jZWR1cmUgbWVyZ2UodmFyIGEsYixjLGUgOiBsaXN0OwpmYSxsYSxmYixsYixmYyA6IGludGVnZXI7CnZhciBsYyA6IGludGVnZXIpOyBmb3J3YXJkOwpwcm9jZWR1cmUgbWVyZ2Vzb3J0KHZhciBhLGUgOiBsaXN0OwpmYSwgbGEgOiBpbnRlZ2VyKTsKdmFyIGIgOiBsaXN0OyBpLCBtaWQgOiBpbnRlZ2VyOwpiZWdpbgppZiBmYTxsYSB0aGVuCmJlZ2luIG1pZCA6PSAoZmEgKyBsYSkgZGl2IDI7Cm1lcmdlc29ydChhLGUsIGZhLCBtaWQpOwptZXJnZXNvcnQoYSxlLCBtaWQrMSwgbGEpOwptZXJnZShhLCBhLCBiLGUsZmEsIG1pZCwgbWlkKzEsCmxhLCBmYSwgbGEpOwpmb3IgaSA6PSBmYSB0byBsYSBkbyBhW2ldOj1iW2ldCmVuZAplbmQ7Cgpwcm9jZWR1cmUgbWVyZ2UodmFyIGEsYixjLGUsZWggOiBsaXN0OwpmYSxsYSxmYixsYixmYyA6IGludGVnZXI7CnZhciBsYyA6IGludGVnZXIpOwp2YXIgaWEsIGliLCBpYyx0dCA6IGludGVnZXI7CmJlZ2luCmlmIGxhPmxiIHRoZW4gZm9yIHR0Oj0xIHRvIGxhIGRvIGVoW3R0XTo9dHQKZWxzZSBmb3IgdHQ6PTEgdG8gbGIgZG8gZWhbdHRdOj10dDsKaWEgOj0gZmE7IGliIDo9IGZiOyBpYyA6PSBmYzsKcmVwZWF0CmlmIGFbaWFdPGJbaWJdIHRoZW4KYmVnaW4gZVtpY106PWVoW2lhXTsgY1tpY106PWFbaWFdOyBpYTo9aWErMTsgZW5kCmVsc2UKYmVnaW4gZVtpY106PWVoW2liXTsgY1tpY106PWJbaWJdOyBpYjo9aWIrMTsgZW5kOwppYyA6PSBpYysxCnVudGlsIChpYT5sYSkgb3IgKGliPmxiKTsKZm9yIGlhIDo9IGlhIHRvIGxhIGRvCmJlZ2luIGVbaWNdOj1laFtpYV07IGNbaWNdOj1hW2lhXTsgaWM6PWljKzE7IGVuZDsKZm9yIGliIDo9IGliIHRvIGxiIGRvCmJlZ2luIGVbaWNdOj1laFtpYl07IGNbaWNdOj1iW2liXTsgaWM6PWljKzE7IGtrOj1raysxIGVuZDsKbGMgOj0gaWMtMQplbmQ7CgpiZWdpbgpyZWFkbG4oTik7CmZvciBpaTo9MSB0byBOIGRvIHJlYWQoZFtpaV0pOyBmb3IgaWk6PTEgdG8gTiBkbyBlW2lpXTo9aWk7Cm1lcmdlc29ydChkLGUsMSxOKTsKZm9yIGlpOj0xIHRvIE4gZG8gd3JpdGUoZVtpaV0pOyB3cml0ZWxuCmVuZC4=
Free Pascal Compiler version 2.2.0 [2009/11/16] for i386 Copyright (c) 1993-2007 by Florian Klaempfl Target OS: Linux for i386 Compiling prog.pas prog.pas(41,48) Error: Identifier not found "kk" prog.pas(41,52) Error: Identifier not found "kk" prog.pas(50,4) Fatal: There were 2 errors compiling module, stopping Fatal: Compilation aborted Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
-
result: Compilation error (maybe you wish to see an example for Pascal (fpc))



