{$MODE OBJFPC}{$LONGSTRINGS ON}
uses
SysUtils;
{
parameter sample meaning
ALevel 28 pre-max level id
AScore 991.000 pre-max score
AGainLines 4 final line clear count
AGainScore 34.800 final line clear score
}
function GetMaxOutResult(ALevel, AScore, AGainLines, AGainScore: Integer): String;
var
ScoreTotal, ScoreOvershot: Integer;
PercentOvershot, FractionalLines: Single;
begin
ScoreTotal := AScore + AGainScore; // 1.025.800 points
ScoreOvershot := ScoreTotal - 999999; // 25.801 points
PercentOvershot := ScoreOvershot / AGainScore; // 74.14 percent
FractionalLines := AGainLines - AGainLines * PercentOvershot; // 1.03 lines
Result := '%.2d+%1.2f'.Format([ALevel, FractionalLines]); // 28+1.03 lines
end;
var
ResultString: String;
begin
ResultString := GetMaxOutResult(28, 991000, 4, 34800);
Write(ResultString);
end.
eyRNT0RFIE9CSkZQQ317JExPTkdTVFJJTkdTIE9OfQoKdXNlcwogIFN5c1V0aWxzOwoKICB7CiAgICBwYXJhbWV0ZXIgICBzYW1wbGUgICBtZWFuaW5nCgogICAgQUxldmVsICAgICAgMjggICAgICAgcHJlLW1heCBsZXZlbCBpZAogICAgQVNjb3JlICAgICAgOTkxLjAwMCAgcHJlLW1heCBzY29yZQogICAgQUdhaW5MaW5lcyAgNCAgICAgICAgZmluYWwgbGluZSBjbGVhciBjb3VudAogICAgQUdhaW5TY29yZSAgMzQuODAwICAgZmluYWwgbGluZSBjbGVhciBzY29yZQogIH0KICBmdW5jdGlvbiBHZXRNYXhPdXRSZXN1bHQoQUxldmVsLCBBU2NvcmUsIEFHYWluTGluZXMsIEFHYWluU2NvcmU6IEludGVnZXIpOiBTdHJpbmc7CiAgdmFyCiAgICBTY29yZVRvdGFsLCBTY29yZU92ZXJzaG90OiBJbnRlZ2VyOwogICAgUGVyY2VudE92ZXJzaG90LCBGcmFjdGlvbmFsTGluZXM6IFNpbmdsZTsKICBiZWdpbgogICAgU2NvcmVUb3RhbCA6PSBBU2NvcmUgKyBBR2FpblNjb3JlOyAgICAvLyAxLjAyNS44MDAgcG9pbnRzCiAgICBTY29yZU92ZXJzaG90IDo9IFNjb3JlVG90YWwgLSA5OTk5OTk7IC8vICAgIDI1LjgwMSBwb2ludHMKCiAgICBQZXJjZW50T3ZlcnNob3QgOj0gU2NvcmVPdmVyc2hvdCAvIEFHYWluU2NvcmU7ICAgICAgICAgICAgICAgIC8vIDc0LjE0IHBlcmNlbnQKICAgIEZyYWN0aW9uYWxMaW5lcyA6PSBBR2FpbkxpbmVzIC0gQUdhaW5MaW5lcyAqIFBlcmNlbnRPdmVyc2hvdDsgLy8gIDEuMDMgbGluZXMKCiAgICBSZXN1bHQgOj0gJyUuMmQrJTEuMmYnLkZvcm1hdChbQUxldmVsLCBGcmFjdGlvbmFsTGluZXNdKTsgLy8gMjgrMS4wMyBsaW5lcwogIGVuZDsKCnZhcgogIFJlc3VsdFN0cmluZzogU3RyaW5nOwpiZWdpbgogIFJlc3VsdFN0cmluZyA6PSBHZXRNYXhPdXRSZXN1bHQoMjgsIDk5MTAwMCwgNCwgMzQ4MDApOwogIFdyaXRlKFJlc3VsdFN0cmluZyk7CmVuZC4=