|
|
вернуться в форумОбщий форумRejected submissions for problem F have to be deleted!!! In description of this problem you see that K <= 107, but it greater even than 10007!!! To check this I used following code. Am I wrong? Program TopologicalSorting; Var N,M,K,I,Min : Integer; A : Array [1 .. 10000] Of Integer; L,R : Array [1 .. 1000] Of Integer; Procedure QS(M,T : Integer); Var I,J,W,X : Integer; Begin I := M; J := T; X := A[Random(T - M) + M]; Repeat While A[I] < X Do Inc(I); While A[J] > X Do Dec(J); If I <= J Then begin W := A[I]; A[I] := A[J]; A[J] := W; Inc(I); Dec(J); end; Until I > J; If I < T Then QS(I,T); If M < J Then QS(M,J); End; Procedure MakeFDBZ; Var A : Real; Begin A := 0; A := 1 / A; End; BEGIN Randomize; { Assign(Input,'f.in'); Reset(Input); Assign(Output,'f.out'); ReWrite(Output);} Read(N,M,K); If (K > 1007) Then MakeFDBZ; N := N * M; For I := 1 To N Do begin Read(A[I]); end; QS(1,N); FillChar(L,SizeOf(L),0); FillChar(R,SizeOf(R),0); I := 1; While I <= N Do begin L[A[I]] := I; Inc(I); While (I <= N) And (A[I - 1] = A[I]) Do Inc(I); R[A[I - 1]] := I - 1; end; Min := 1; While L[Min] = 0 Do Inc(Min); For I := 1 To K Do begin Dec(R[Min]); L[Min + 1] := R[Min] + 1; If R[Min] < L[Min] Then Inc(Min); end; WriteLn(Min);{ Close(Input); Close(Output);} END. Rejected submissions for problem F have to be deleted!!! Note: 107 != 10^7 They changed description... |
|
|