program Kieszonkowe; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes; Type TTab=Array[0..1000] of QWord; Var Tab:TTab; Count:LongWord; Procedure ReadTest; Var Loop, Value : LongWord; Begin ReadLn( Count ); For Loop:=1 to Count do Tab[Loop]:=0; For Loop:=1 to Count do Begin Read( Value ); Tab[Value]:=Tab[Value]+1; end; End; Procedure Execute; var Sum : QWord; Loop : LongWord; Begin Sum:=0; For Loop:=1 to Count do Begin If Loop Mod 2=0 Then Sum:=Sum+Tab[Loop]*Loop Else Sum:=Sum+((Tab[Loop] - (Tab[Loop] Mod 2))*Loop) end; If Sum=0 Then WriteLn( 'NIESTETY' ) Else WriteLn( Sum ); End; begin ReadTest; Execute; end.
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 | program Kieszonkowe; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes; Type TTab=Array[0..1000] of QWord; Var Tab:TTab; Count:LongWord; Procedure ReadTest; Var Loop, Value : LongWord; Begin ReadLn( Count ); For Loop:=1 to Count do Tab[Loop]:=0; For Loop:=1 to Count do Begin Read( Value ); Tab[Value]:=Tab[Value]+1; end; End; Procedure Execute; var Sum : QWord; Loop : LongWord; Begin Sum:=0; For Loop:=1 to Count do Begin If Loop Mod 2=0 Then Sum:=Sum+Tab[Loop]*Loop Else Sum:=Sum+((Tab[Loop] - (Tab[Loop] Mod 2))*Loop) end; If Sum=0 Then WriteLn( 'NIESTETY' ) Else WriteLn( Sum ); End; begin ReadTest; Execute; end. |