fork download
  1. program rollercoaster3;
  2. var N,K,i,countH, speed :int64;
  3. S : Ansistring;
  4. roller : array[1..100] of int64;
  5.  
  6. begin
  7. (*assign(input, 'input.txt'); reset(input);
  8.   assign(output, 'output.txt'); rewrite(output);*)
  9.  
  10. ReadLn(N);
  11.  
  12. ReadLn(S);
  13. K := 0; countH:=0; speed:=0;
  14.  
  15. { INSERT YOUR CODE HERE }
  16. if S[1]='U' then begin K:=-1; WriteLn(K); exit; end;
  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.  
  36. end
  37. else begin K:=-1; WriteLn(K); exit; end;
  38. end;
  39. end;
  40. WriteLn(K);
  41. end.
  42.  
Success #stdin #stdout 0.01s 5288KB
stdin
21
BBBBBBBBBBBUUUUUUUUUU
stdout
-1