fork download
  1. program rollercoaster3;
  2. var N,K,i,countH, speed :Longint;
  3. S : Ansistring;
  4. roller : array[1..100] of Longint;
  5.  
  6. begin
  7.  
  8.  
  9. ReadLn(N);
  10.  
  11. ReadLn(S);
  12. K := 0; countH:=0; speed:=0;
  13.  
  14. { INSERT YOUR CODE HERE }
  15. if S[1]='U' then begin K:=-1; WriteLn(K); exit; end;
  16.  
  17. for i:=1 to N do
  18. Case S[i] of
  19. 'D' : roller[i]:=9;
  20. 'U' : roller[i]:=-11;
  21. 'H' : roller[i]:=0;
  22. 'B' : roller[i]:=10;
  23. end;
  24. for i:=1 to N do
  25. begin
  26. if S[i]='H' then countH:=countH+1;
  27. speed:=speed+roller[i];
  28. if speed<=0 then
  29. begin
  30. if countH>0 then
  31. begin
  32. countH:=countH-1;
  33. speed:=speed + 10;
  34. k:=k+1;
  35. end
  36. else
  37. begin
  38. k:=-1;
  39. break;
  40. end;
  41. end;
  42.  
  43. end;
  44. WriteLn(K);
  45. end.
  46.  
  47.  
Success #stdin #stdout 0.01s 5292KB
stdin
4
BHUD
stdout
1