Statistics

Problem Statement for "SwapTheString"

Problem Statement

You are given a string S of length N. You are also given an integer K. In each step, you are allowed to select an index i and swap the characters at indices i and i + K (such that i + K < N) in the string S. After the swap, the new formed string should be lexographically greater than the old string. You keep on performing such steps, as long as possible. You need to find the maximum number of steps that can be performed on the given string.

You are given integers A0, X, Y and N and a string P. Use the pseudocode below to generate the string S.

A[0] = A0
for i = 1 to N-1:
	A[i] = (A[i-1] * X + Y) modulo 1812447359

S = P
for i = size(P) to N-1:
	S[i] = (char)(A[i] % 26 + 'a')

Definition

Class:
SwapTheString
Method:
findNumberOfSwaps
Parameters:
String, int, int, int, int, int
Returns:
long
Method signature:
long findNumberOfSwaps(String P, int A0, int X, int Y, int N, int K)
(be sure your method is public)

Constraints

  • The length of P will be between 0 and min(N, 100) (inclusive)
  • A0 will be between 0 and 1812447358 (inclusive)
  • X will be between 0 and 1812447358 (inclusive)
  • Y will be between 0 and 1812447358 (inclusive)
  • N will be between 1 and 200,000 (inclusive)
  • K will be between 1 and N (inclusive)
  • String P will only contain lowercase English letters ('a'-'z').

Examples

  1. "prprp"

    0

    0

    0

    5

    2

    Returns: 0

  2. ""

    23

    1

    0

    5

    1

    Returns: 0

  3. "yjdfl"

    523352556

    1077024198

    1558842954

    5

    1

    Returns: 4

  4. ""

    727276963

    1291795787

    506991530

    5

    1

    Returns: 1

  5. "dukog"

    421399669

    1715501491

    257283161

    5

    2

    Returns: 2

  6. ""

    1556361320

    104631284

    1171257677

    5

    2

    Returns: 1

  7. "yemzvysylv"

    1688327277

    1095545480

    1653621341

    10

    1

    Returns: 20

  8. ""

    1053844077

    1325940334

    74733660

    10

    1

    Returns: 12

  9. "djkiybpbkw"

    1291510268

    1487634640

    271736528

    10

    2

    Returns: 10

  10. ""

    1597732568

    1665271853

    800313851

    10

    2

    Returns: 5

  11. "jpdrhzhpwi"

    1808785440

    1476672933

    1424808458

    10

    3

    Returns: 5

  12. ""

    972266962

    1321162894

    1645616575

    10

    3

    Returns: 9

  13. "xwwgxshhximovztolays"

    963393937

    1223180643

    470987405

    20

    1

    Returns: 86

  14. ""

    80375277

    1720704967

    1769325084

    20

    1

    Returns: 65

  15. "ipieqjhfducvkhtfiamr"

    552684170

    1238107987

    1451804814

    20

    2

    Returns: 45

  16. ""

    1131859263

    323675189

    188061237

    20

    2

    Returns: 40

  17. "kvrmhnhzknfsohmbzmdm"

    1052757998

    1364051264

    1073281706

    20

    3

    Returns: 24

  18. ""

    209727236

    865702384

    158492116

    20

    3

    Returns: 24

  19. "taxykpczuapjmyqavyan"

    103092347

    554577587

    968425020

    20

    4

    Returns: 20

  20. ""

    242832731

    1254718583

    539185079

    20

    4

    Returns: 12

  21. "ssrchzyxtekfzyjdcjuy"

    1210162632

    293153716

    1634820416

    20

    5

    Returns: 15

  22. ""

    1704268195

    1325071046

    102425463

    20

    5

    Returns: 9

  23. "kehswgvbzp"

    1414434119

    211242791

    640094469

    100

    1

    Returns: 2222

  24. ""

    788474527

    437508975

    1674884978

    100

    1

    Returns: 2413

  25. "otgeeebzqoronvijbuigvtikujpgatkvgbfkvsbkvprsydkfqzuqqqpdoovxwhnjrkwzlecohtxzhhfpniapdcmjrgibvlawzbyz"

    222854523

    1613986530

    1759736237

    100

    1

    Returns: 2441

  26. "epkcekvurr"

    538472067

    998147139

    1571032244

    100

    2

    Returns: 1197

  27. "hjwgqlrhbe"

    1401508551

    548631978

    255593435

    100

    2

    Returns: 1273

  28. "qdsqyofjlr"

    491452683

    145808032

    1668270695

    100

    7

    Returns: 355

  29. "sdncfuizhf"

    371150957

    209350003

    935796599

    100

    4

    Returns: 614

  30. "rumorctxev"

    866654107

    821311959

    1349092646

    100

    8

    Returns: 243

  31. "gjjesyifaq"

    1363287920

    4438327

    1482709058

    100

    31

    Returns: 58

  32. "bkqekneydv"

    264513257

    1587589311

    969545177

    100

    65

    Returns: 20

  33. "tckpwpptxf"

    825411415

    417589288

    1322957581

    100

    98

    Returns: 1

  34. "wpbyzwovnx"

    1570020300

    821616299

    492516193

    100

    80

    Returns: 9

  35. "lryhaozhto"

    1730539020

    1692359041

    1779885958

    100

    43

    Returns: 39

  36. "gpmeqzrsgetipamahmufysrblvdzcrcodavdjdqkkwsmewelyhtqjbtojgqngbehenspewzxcwmujointshhnvpvqnfshrltvryg"

    1538840086

    439187266

    1418582696

    5000

    10

    Returns: 604204

  37. "qmbilrdigjqyysybiacygcgeimuxabnkvomqditzvmduholtlpfbjwuswhxqquwdbesegjzeuqzovctvkfwqsvtgtgpnnidbtxpk"

    249153007

    623050470

    434884292

    5000

    5

    Returns: 1204372

  38. "pcejhumhbxnbxzmurimkydaebmpugvdlhfticjuhpymptigernbjeggvqrfccicwmlvhkvfbbruybifjeohdyhyazfcmfuacjzgg"

    1333513116

    280474525

    1437245133

    5000

    5

    Returns: 1212602

  39. "xnyvkilugiepxlqxqhouhrwvclqozuctsojmbkdrkafggzuyfrbmrwamwmqkeziibhvquwqowplreqkayudyztmtvuxzxfgtudom"

    977558681

    1660356425

    1789278556

    5000

    7

    Returns: 847991

  40. "mcchxdpeoceubacnikxexuzkpsjmremtmifkoveuctrmquqlpbinafxondmbjwaqwyvmdlteionnbhpdmbveuxbwloqxxxchtmfv"

    1737992378

    1059351873

    517302919

    5000

    11

    Returns: 548617

  41. "lhjnwpnhklpjkwtepodikskdlhnrahhzdjcqwnecdvweemlvrbycqlukrsmpinhvagxqhxkbqysyicpqigzxjacbolwkqelludxt"

    1610663959

    1738747276

    1695138206

    5000

    31

    Returns: 194408

  42. "ijstpomcjognojkgyfwcuxjzrvxjbyhotsyyaugpufsqrqsvlznemvuevjltgczxgimoprkabkajoycgwbasdywdlhafypetsozm"

    783993985

    141176204

    1669390997

    5000

    58

    Returns: 102325

  43. "xiboguancgkbkmkyaiurvhydhopvqsxkvxglakppntadvnagslirkpqwpvbrhnlfgoapoaxemcllukxsnymhrjartctfraqdwkua"

    409014381

    1616882830

    60266671

    5000

    85

    Returns: 69253

  44. "qqsszhfitcmpzscgitbvugtvlazcbjuqmgfioikubibcdwwdsfctfiiosdwluudtmvnycrgnfbekxplfyzemjuiwkhdjcrcxrgae"

    1615479636

    765525779

    852652046

    5000

    1179

    Returns: 3872

  45. "zrrpvomrgbicjhfsyqfzdvkjvawtoqmsukifywzkcgwitpqmuwbfxcgjsnnwkvxhhtzpbwwgrbqjasqlibbropibdlbelmqjwkqz"

    1557101985

    554046773

    316349853

    5000

    372

    Returns: 14950

  46. "vuxssovsdcmfgsoeeutddnlnzshxsfzmgmaolkjapaafckoruhcxdysgebhwvpcnuamvwmpegbbihriqdidzklvruxtxowajcrwh"

    1229706944

    412202598

    400120939

    5000

    3574

    Returns: 687

  47. "wrilaorsxvzaukavvhnzgrgopsmythrjpoevqiypnionhjigrzbuhcnjbvvvlbrrfndzlclrhgphzrnkzbohnplrcgpgiqnifpsg"

    938635776

    1005181664

    231158714

    5000

    833

    Returns: 5969

  48. "irbunwpqtiiildnfoftdicrmcikysbsywobqxpefzucqjtbzlkshspzrluepikfswxluwpktudfaaoqqthkaoutberpifaptywzo"

    1729010843

    729497756

    72929968

    5000

    1

    Returns: 5982132

  49. "nvnarrsgjundrkvbcrvmiesabsebrjbwvudommmudeoebmoscxcgzkfawmawjmqpwrvfygttjkveduvdnpsjbqyxunefkvuyuhqa"

    1566861521

    161424794

    394565271

    5000

    1

    Returns: 6011666

  50. "yilqewtxnmcbsdsdauaugrlkkumywfwgngwrikmkgalujdacuxanxbaqdrpbclgvrxfmzhvofytpmyetqchxmqrbvorghltfdnkf"

    455517672

    980560477

    82640460

    5000

    1

    Returns: 6097970

  51. "gozwrngjdydvuykmdyglrqtuydctgheyifxhxrbkihjhmyndjkydxcumtgjnhpwisetpjcenxaihujzmcfpuragxypjluebivwyo"

    181310466

    1187860566

    1577964463

    5000

    1

    Returns: 6034434

  52. "sphnwzivvlpjctnqdfkircupgbvlkdpivzvtkehnbamzpuedbxmtdymnqoghsclnrrcvihpkkzbfqnckqyppwvalcexdpemkpxln"

    114607982

    1492713205

    213427559

    5000

    1

    Returns: 5991678

  53. "tkmhbimzqosipfpsvmjihhcvgdrgelpfbzumhgokbrmfqipdcgunevwrzjasbtxijqodzcwliysvhkoiwikplftvicjrhzusvcxs"

    244216359

    1085463407

    1186735726

    200000

    1

    Returns: 9593309346

  54. "nbqqimwrigoyzliayyjvjrnrgdbywlxgaeqkcogpmwcxnnufmhyyicnbwuwluqepfgjfuqlukeqrhnhfnqfwstqxwpccbglhdpmn"

    1049727292

    1378983198

    1452218781

    200000

    1

    Returns: 9614921137

  55. "qosukrivtmfhuvizcmudbxflqvrocktftrpmlfwabnafzyontuamltzmwszaftfvhdojlbtedncywcygcdirlfmthmjzvhnrtauj"

    1766526237

    1078726576

    853045077

    200000

    1

    Returns: 9618582930

  56. "iznbooecznkvolgnhhtkonhpanrnmuqzlmwbkjraqepnneqqpjqtjepyxpvtwoetyokdsyqhtvcuatrjufztrdhgzeckfkennavf"

    354195803

    1503639799

    1503840648

    200000

    2

    Returns: 4817182921

  57. "mwbeifgicpcuwioamzbxhgnpmwdmgwwcsaxyetqjjnbczfizbwdtbxgnbijhopwlaaigruyblzcowuipavahaunwejlmmsqvysxt"

    51904102

    1338730096

    1173355330

    200000

    2

    Returns: 4811859801

  58. "nmpiiauevmjdgddamupwowindiwkgbltfyyyzwirwownqtywpbhgntlhjlcfgxueysugfupdgkeccylaymjxshkjvbxehbiojpne"

    798532870

    318813339

    836935671

    200000

    2

    Returns: 4817397425

  59. "bhvxjasmyfkugijywjasjaezptmshsjzyinexpwpccudrapqfrvykomxsapegzjsmutlglogtkkijuwnevlwlzeeewiyfdsexxpp"

    336615727

    186988812

    297761552

    200000

    3

    Returns: 3215523763

  60. "yackrolqjfqrmjlhxxhplcjedhlecegfnknorglxcksopokmroerqvyebabfnuimsuilxthvtbllrisbhyafshoxmeprzbdseudo"

    1510427162

    1726684253

    797729113

    200000

    3

    Returns: 3204520060

  61. "shyxlwhwoziwcnijfstdshiqyuidbrixishufzdzujggjfjmrhirzkhaippdrubhuvsktnsudiyztmprjqkzdijkiiklnkdhaafq"

    1245715978

    436191245

    1739530602

    200000

    3

    Returns: 3200920068

  62. "srvsirxsvikzzzzxmssquyacrxxljujnhyinflbazvrrvwuvuytfapqbygtcfsndmwlrbcngeudqwwkgteutoggzotchrgeixtmu"

    1645444649

    656869398

    1407326250

    200000

    4

    Returns: 2402691776

  63. "ivpaomsxvyijuscrzymnsyzcohjebouvkhlxmqzgrgcuhroqwsglzixanezyujysznnpzeyvkyfzjztbqxnahkvdvvxgdtjzkqfq"

    366580250

    1073850481

    1620794041

    200000

    4

    Returns: 2403486972

  64. "kkwcbvmgbyjtkngydzafqsqqsnlimaponvashniwmkqkpqolkhzmhqujhlvkhmcneyhnxljfuvjccdlbjxdegqzstmtcofebrtga"

    1574423433

    1400949403

    209740658

    200000

    4

    Returns: 2404294232

  65. "qxuihcrplvkouprpkdtdooeahgumxojyicpdlfztyxxevwjylphahzdlwvczuxiuwyfhvpynarhpzxmiickwkzeneoqytsjzfghf"

    926076980

    1535252609

    176160467

    200000

    5

    Returns: 1924818333

  66. "xadctyvqnfvhaffmeiojxgjwtblibpfsrlcuhnbsfkmloycjssdxgbxrllzalazprtbddqhfeohbhkmrxistopfixankiaeaivvq"

    1280448161

    1772233904

    1369120807

    200000

    5

    Returns: 1923152538

  67. "czlboefhhudastwzruhrriigfkpcjkicniqjeqhcxwqhilgxtsvkxpeqecqmtvdpwejvtmqxdjrzkhyrsqxpjwshnkqksvwovslg"

    1303953163

    755038335

    1330701615

    200000

    5

    Returns: 1922696404

  68. "yesaptwtayqveodybhefqfevbqklgcwjaaddskrpkwkgbutfwqlklxdzcoxzeeufuldpejdlzgwdfiobqmtdmyeecggyzhahgosd"

    1612944368

    1430619849

    97596968

    200000

    6

    Returns: 1607753461

  69. "ntllzvhhbakrzdhfucnlbhhnzstdpjwifuhkfwxehrogqjxdsibgnfwoxhkczxfmmuoltmrcdbacwmnofeuptrdnjrgbbgdkkukq"

    1203688428

    1245457540

    1216561453

    200000

    6

    Returns: 1601406827

  70. "mqafwqftibcecknyzfzjqmheswklsrcjbwpffeyqylxyvwohaqljfxdkhxsoengyctzundijtnwteetktyzouiuxbibfmdnouxuj"

    711188106

    605084715

    386737788

    200000

    6

    Returns: 1599870778

  71. "ggyjawuoawvubpflvlejvofdqggwyxbmsyehreyoyelgginnyxfwmiqgcsexlxqhgjscsqiengronfakqnccajvybipsjuijisji"

    276676898

    790629209

    989127740

    200000

    7

    Returns: 1374418832

  72. "sllhlxgxapelzafhjhpioemaovrjkznspvfcbytzqpgsjcvjyjrxbmptngtckavyvwejwuagtgxtoudvvqeszvecfvtlvitcughd"

    110623083

    1237583191

    873199653

    200000

    7

    Returns: 1374723197

  73. "jsednuuedbfrpwgezhevjkkrsedfgwtrjriulrybzvuohxxrlzaoaesidxzvpwkfdrjaxnvjzmwmbmqklpajxczphpgufplovftb"

    652658684

    966735118

    1014949821

    200000

    7

    Returns: 1371481533

  74. "eemtgyvbeurenqhfhliyyfnhxmvhvbggbotrjnaqlzqiaxqdeyrrscqbnwxlokusesvayktnvropaakuvmshswaghsbisgfejess"

    666606534

    761301879

    614246601

    200000

    8

    Returns: 1199446422

  75. "sydsygednuogdtwrbhgoobztzrqpivotwmtfyapholpwrdadpvxmuligwrrpshpgraxcdhriczaklnmcmlmsuxsoctstebufydow"

    1661483809

    1082565927

    891295750

    200000

    8

    Returns: 1200355171

  76. "usgcpzxfwlcoupnanpxyywrequdjghydgvkpsdtjdueebhoqqsudoimfzyufxztfwclzowybhteozfgatclgvjqeovzuobbfhnen"

    585375725

    1690631837

    1584771908

    200000

    8

    Returns: 1201526012

  77. "deijadspfpmbkglrnxprpkrstzbtqzmmfqphbwurbsxylyyqgoxupnfclpnsxhqyhszwobzeajokqauxwnmhampuzzwzqasuffqb"

    178976215

    1293286083

    1245774316

    200000

    9

    Returns: 1066042748

  78. "vezwagvqlzzbjjhohkfhoxadqppdsbblsoxlnptrjahuvxuygrnvapxghpdgugudxivxmbpostypnsixhyvykgafkhdnbllcosys"

    360913030

    841555405

    1810674375

    200000

    9

    Returns: 1069665021

  79. "khsvxrefjvejozyehazyfmwjkdilrpxmkjbqryxccwnoukqmvskzqxfrscbkmlsndvahpoqmlrxqbbbdicmqphsjyuhkvbcnxofu"

    1415249982

    568680919

    270571479

    200000

    9

    Returns: 1071994186

  80. "aiulsucbcjseemtvuenwpissocsqfadajmatvezwoybbagizmvgsnkgmcesnwjfmrqapzpqaukldjlrpfcpgwvmlbpbgxlqsllcz"

    995926393

    637661690

    105335209

    200000

    10

    Returns: 962083072

  81. "sselgknbdoruqntvsfqiiumwsxizxliseaoksjbvmpprrqgmgkgsnjlrkwymfsksubdclphtrvhqxbngpylfhvhtengnzoeanxgn"

    1745371506

    1806759241

    1496584062

    200000

    10

    Returns: 959873971

  82. "snsiokhqylwoqdnailmiofcgnfvxckhteajlibmyewhicdyuovmfihxobnhycephtcocpzcwckdmhvmirwlgkzcyqxzavbnpuduc"

    1670886873

    1393998076

    270673521

    200000

    10

    Returns: 960075486

  83. "lagbntimdxzdjhjucfyytidgsssvwscayksmuntgrraqppparhbscpdruvspxsyrdfogucqfjjpnmutrfadmucpndjucuxdkrjvq"

    1032951837

    357453925

    1720262412

    200000

    1

    Returns: 9630940834

  84. "pdeupdheamunfxtudngumromoorcmmkdiosusnflgsqzwmcpylidcrgvntoimuyyesejtuthfoepdzlyrxefsbyzwvfevkhfqpjy"

    718210646

    441138752

    1518908923

    200000

    1

    Returns: 9621743777

  85. "wywgekouiksmkdorpwmocaecrbvvdubgxvfqcrdwchdfekzrcwurobwkdpgcppbjspolhykihqkkbjohfgihesgweycmmoicczpm"

    1690203173

    1219691160

    1362314856

    200000

    1

    Returns: 9645000349

  86. "tbfjzuepougmtzwzjmswxhgxqqkozpavzhythvkuccuyqmahykhrjlxcdmgogsniwirbahwwcbxgiqpqheegwcyjohlzkwyjtyww"

    1404919646

    1627815943

    933290045

    200000

    10

    Returns: 960914918

  87. "lqgazzcmcbftjuexsmsaclwndqesbufhjlykersoflsnerahxpiezrldjhjunpfagsghiteswovyczfkzgbxjjhyjbnitlypaqmx"

    1785943194

    1436673199

    386930794

    200000

    8

    Returns: 1204346389

  88. "jlqzqwdthnvotoyvcebpkwyfuxaljgngdvkgwpfvtgubssbnsvzujqcjusqnvlhhoaslruppyuakhmxbyudfdilodjvybmpriwzk"

    965573077

    780618398

    1279630760

    200000

    5

    Returns: 1925318743

  89. "rocmblzirogodkpusuogiagmgeztaglzanqbwfbdbravfjhcemaoxtkhwhowogwgpdcohiytxxlmexogqspvfmlffzkprxsofrzl"

    327076500

    1590478586

    1586252283

    200000

    1

    Returns: 9621919395

  90. "utgdblqlogzbizhvvoakyikhmbhonxolsivoboqixwsojjckirdpbftaytdlmgtgtaeqpkfsjhggtxjzuuiltenxbkngopvaehck"

    546631937

    1437890581

    585275972

    200000

    6

    Returns: 1606005399

  91. "obilnjprobzlhgdlrfxdozyfsenagkqqnpkvcaxpixqbfoofiufidakufhpzfvxpelqgfovshvtggaigbxtlewekejvlxvbhujnp"

    206366234

    604878762

    1283625866

    200000

    2

    Returns: 4814592772

  92. "rpbkkcysoxpheebqhuzlhdnncsdvkejisdeobpfrtuvgshdttmzvfsusucneeinwhdgkjgdoqsedfvdgwmlmoylfguvzxsqzaskh"

    1031376109

    857781534

    784855094

    200000

    5

    Returns: 1926867818

  93. "dcbkvfrmnnqahyfenpfcyuinetwdpdqtjzycpjoupvivhieoftsgpsfxziwuuvodcpnxixnjgkdtlkoyumyxnouhfzqamdqpcmjw"

    235034077

    1183152063

    1153537360

    200000

    3

    Returns: 3208456523

  94. "mdwialidkknefujrklbpgvrkzzsaefceqwfqfmvfponrgqaatpwlvwxvzwnljrobihuvwcyspaomxvsowrwyitfmmrwuitdahjud"

    1067379165

    719800584

    517689284

    200000

    69

    Returns: 139071512

  95. "nbpprstwhlwniomrdveqxxjndboivxlpwzkcjkuenxzhqthwztngnjncxvgoncpowmfdubmtkarfwkcjjcbdgsoubfbdyqmlmwox"

    1175772593

    5605082

    767501916

    200000

    5

    Returns: 1922860008

  96. "fxmqrrcfovvwuvukrowdvgtnrjkrwvjuztjywrxmlgrmehxappcysbqnjctqihnxlimhyjtgiosplptzohidamhwxteastlfhqse"

    1629169495

    354725923

    729838883

    200000

    19

    Returns: 506216682

  97. "rxvlzrqyaevvpikjjtpprtvpvipvzlajilrwjfcqljybwctrhudkpcrrhinznndbybqraszxyqdtmcuusflqrschpdghkhjexvhv"

    1360592118

    678369126

    981340842

    200000

    96

    Returns: 100023968

  98. "ujbxzqokglrsiujqksfnmfqnwpcamlzakzcgelfqsnmoytqxtktjhpyccdbprubtyonqkeiwxzvoothxaqoynzsboqtetdiyunwh"

    359910259

    1548557607

    1049954645

    200000

    91

    Returns: 105653974

  99. "qaapdoaqxfjdfzelisyxfawyucgunqbsqltibfbwgsiocjfvsekxmmfigoosrgfabaivgixrlvygngcvmzghapwsoukfdfzdfbhh"

    390993303

    919859884

    1615640892

    200000

    76

    Returns: 126489648

  100. "pvuqmcnmetzupkscfqmprggqttpbooerxlmebcxagzyeehsfkpwzsedmaytddeaokkuvhemwtfddopqorysvofrnqrismvoevgyh"

    114853777

    1690306344

    1769572534

    200000

    60

    Returns: 160091310

  101. "iinyvbbhxekrnljylzgfpiahvabiqxkeyinidlbdztavdsaiacghiiwdapxccauylaeumulipmjxgegvjsukxdtfoenmjeoncyfu"

    839151186

    1322060699

    325579384

    200000

    55

    Returns: 174893102

  102. "rbahwpuhrqfaqdfykywuffevgrtaxawqttablabrqkgikoebsxditzhrbszogqyoybknhbxkifwscpqxeyvohpnxodwftjlafzyl"

    1583213533

    307144999

    1461306151

    200000

    71

    Returns: 135464854

  103. "wopcjkidzetnhgpxpdtdhvhzikxyeldqjvqculgnitgfommxchrefveiazaeskegxdwiuexcpgbkyryljddxtfmgragtssuorveo"

    680513604

    987415515

    210247056

    200000

    176

    Returns: 54630633

  104. "uakgifsidmmpdtvgwccpwosivmxmdakmcmcjnwhwlzmwrvnmqgnywcukdwqrwlmweetnivxyolgheziltdzznootfmerlfkjkekh"

    19841644

    893664155

    1229529129

    200000

    127

    Returns: 75553032

  105. "theyxisupjgktggxtlmcfmoynsdrcnqkcdrhcxnlzlehhsshdpdqgobvwpnvqhdgopzkpcxpsalqgzoekpwnaudtxdaduwbbrmtu"

    729248638

    140197080

    443745535

    200000

    437

    Returns: 21961673

  106. "ssejpowbnqiokjijeieloueewtvxgofammgpppyzhmyzryiteviggacsorbtcdohybgiphbsiqjclluqyxqsokhnftcagfuhdhac"

    179300973

    70579968

    1107958267

    200000

    297

    Returns: 32313918

  107. "scoluxoxgaegdxdeequnuptdfylfepridndzzsljflxdjjfqzwodverzzqrmsdzuccmzxqoodpljwsremsnqeglojtdrpesdcuxb"

    359427646

    1360558925

    821338661

    200000

    275

    Returns: 34839578

  108. "weezsqlksbgkttzhgaaxyflqeegykwdjvmsnlecmhdenugrpoyteiivnxxmcsbwwqyhfsmwvobtvqbxpyhzolevlwtemtqdvhstf"

    731613600

    1499805343

    227648100

    200000

    900

    Returns: 10634483

  109. "dnnjgkzpgewowzozrwjbbulgtgitwhugyewkdxwdodktsiskmexdtbuebzjlbxlbxhamjdsupgaksnevjnngicobopumpwaapliq"

    1198931029

    544781039

    162780925

    200000

    104

    Returns: 92347245

  110. "qaxwgobmiwiwlknszmiawyzyhcpngosxqkbcshgcmimmnvaqcvwsjtxuxykibgzxyqasmspoahyqbbhduvupawkiadputucirtum"

    1178707249

    152113991

    957392158

    200000

    175

    Returns: 54995021

  111. "zwwsoiklyligpcrtvgvfkaunjxpthrvjtddszsvigosbasixutlpkhprwdunfpmjsgeultkykpevqgzvvnpubrasvwkwwknqupeq"

    1198051202

    926449854

    1006631896

    200000

    4625

    Returns: 2031504

  112. "wguybzigdveuvdrcfviejhikmejfgippkhesgmmogzxnhjhoikpsgjlrnvolaazrnyungaamshyuavrkpxusweqfatbnpuryyavz"

    1492107875

    895115875

    710731825

    200000

    169

    Returns: 56848008

  113. "lenfedgfexgzxejapvugnyjzjsuhljiyqnpckvpkdsoztbdqfsqmclhefupccaapklczktufgqjufjkhnbbneqawbakqtltsydcj"

    1199388508

    1296697454

    1340223910

    200000

    10456

    Returns: 874203

  114. "recogaocbxlcrrswzfhxqiaccmqcvihjnsiftruvcediwfxtpnlnwsswnckhbyvquwxnisvxaobbmlonjiqeesdletwmwomtsoqu"

    725043107

    1166529189

    966019721

    200000

    88452

    Returns: 64882

  115. "bpppdzhdmeykakdpvjnfbjztqimthjgakkuaewjfcbvmnompbivtcbbqxxvakayfaotyarjnivlbngxmgnpelqxzneqitwzmygao"

    1730400136

    369399395

    1538840849

    200000

    57127

    Returns: 124230

  116. "dqkdpucdduvpobenhgpbsrjilcjbectdzcsbmgekkilfxjgprtiwvamspmvwnvmfsjdzltufbckampdhcmdigqlajmixyydcxwfr"

    1768480956

    967653796

    460243852

    200000

    56035

    Returns: 126900

  117. "fldfdtieemzzmesbjukvtyjbtogjwzivgmuwlmxmbclsvuefkwvrxqdofhfbehkkhyoeavdmyvuqradcdlgphihmbialnknbltjd"

    1045017937

    1806947955

    1307001907

    200000

    127432

    Returns: 34853

  118. "imbuvikhjplrmueseqqnnfyawkjfpzdfxgkptvnluuqfferhrbwbltadqkqacwgipctcxzwuddwcxeyomppsggyozohiavhyjqny"

    726892756

    1519129252

    636934917

    200000

    200000

    Returns: 0

  119. "cbexa"

    0

    0

    0

    5

    2

    Returns: 2

    There are 2 possible swaps in string "cbexa" : "cbexa" -> "cxeba" (swapping characters at index 1 and 3) and then "cxeba" -> "excba" (swapping characters at index 0 and 2). Note that if the k would have been 1, more swaps would have been possible.

  120. ""

    5

    2

    3

    4

    1

    Returns: 3

    The string here is "fndj". There are 3 swaps possible : "fndj" -> "fnjd", "fnjd" -> "nfjd" and "nfjd" -> "njfd". Note that there can be multiple ways to do these swaps.

  121. "b"

    1001

    1001

    1001

    5

    2

    Returns: 3

    The string is "banol". There are 3 swaps possible : "banol" -> "bonal", "bonal" -> "nobal" and "nobal" -> "nolab".

  122. ""

    9999

    50000

    4797

    6

    3

    Returns: 2

  123. ""

    3435

    1000000000

    1812447358

    7

    2

    Returns: 5

  124. ""

    143

    22

    315

    1

    1

    Returns: 0

  125. ""

    3435

    1000000000

    1812447358

    199999

    2

    Returns: 4805510065

  126. ""

    3435

    1000000000

    1812447358

    200000

    2

    Returns: 4805560071

  127. ""

    2

    2

    2

    200000

    1

    Returns: 9594142603

  128. ""

    1

    7

    1

    200000

    1

    Returns: 9624987344

  129. ""

    3435

    1000000000

    1812447358

    200000

    1

    Returns: 9611197121

  130. "asd"

    43

    44

    4321

    200000

    1

    Returns: 9608753846

  131. ""

    3221

    12312

    123

    200000

    1

    Returns: 9626820073

  132. "a"

    10

    41

    5555

    200000

    1

    Returns: 9613987483

  133. "abcdefg"

    213213

    324324

    345354

    200000

    1

    Returns: 9607084069

  134. ""

    102340

    12345678

    12345

    200000

    1

    Returns: 9606984401

  135. ""

    3435

    1000000000

    1812447358

    200000

    50

    Returns: 192182469

  136. "h"

    6334

    26500

    19169

    165724

    9

    Returns: 734628036

  137. ""

    69

    69

    69

    200000

    5

    Returns: 1919444038

  138. ""

    25

    1

    1

    200000

    1

    Returns: 9616026903

  139. ""

    12

    51

    23

    200000

    2

    Returns: 4801156263

  140. ""

    3435

    1000000000

    1812447358

    200000

    14

    Returns: 686478505

  141. ""

    123

    239

    321

    200000

    100

    Returns: 96092972

  142. ""

    0

    1

    1

    200000

    1

    Returns: 9616080754

  143. "dcbae"

    213213

    324324

    345354

    5

    1

    Returns: 4

  144. "aaaa"

    0

    0

    0

    4

    1

    Returns: 0

  145. ""

    1812447358

    1812447358

    1812447358

    200000

    1

    Returns: 4999950000

  146. ""

    1

    12

    123

    200000

    1

    Returns: 9623417808


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: