31E - TV Game - CodeForces Solution


dp *2400

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;

char s[40];
unsigned long long pw[20],dp[40][20];

int main()
{
int i,j,k,n;
scanf("%d%s",&n,s+1);
pw[0]=1;
for(i=1;i<=n;i++) pw[i]=pw[i-1]*10;
for(i=n*2;i>=1;i--)
{
for(j=0;j<=n&&j<=n*2-i+1;j++)
{
k=n*2-i+1-j;
if(j) dp[i][j]=max(dp[i][j],dp[i+1][j-1]+pw[j]*(s[i]-'0'));
if(k) dp[i][j]=max(dp[i][j],dp[i+1][j]+pw[k]*(s[i]-'0'));
}
}
for(i=1,j=n;i<=n*2;i++)
{
if(j&&dp[i][j]==dp[i+1][j-1]+pw[j]*(s[i]-'0')) printf("H"),j--;
else printf("M");
}
return 0;
}


Comments

Submit
0 Comments
More Questions

1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm
732A - Buy a Shovel
1220C - Substring Game in the Lesson
452A - Eevee
1647B - Madoka and the Elegant Gift
1408A - Circle Coloring
766B - Mahmoud and a Triangle
1618C - Paint the Array
469A - I Wanna Be the Guy
1294A - Collecting Coins
1227A - Math Problem
349A - Cinema Line
47A - Triangular numbers
1516B - AGAGA XOOORRR
1515A - Phoenix and Gold
1515B - Phoenix and Puzzle
155A - I_love_username
49A - Sleuth
1541A - Pretty Permutations