In this HackerEarth Mike and LMS problem solution Disappointed and Disheartened Mike is really tired of jail life, and needs to take his mind off all this. Mike's roomate and good friend Kevin decidedes to help him, and tells him to try the following task:

Given a string S consisting of lowercase English alphabets of size N, can you find the lexicographically maximum substring of this string ? Mike has no knowledge what so ever of strings, and needs your help. Can you help Mike and improve his mood?.


HackerEarth Mike and LMS problem solution


HackerEarth Mike and LMS problem solution.

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
assert(n>=1 && n<=5000);
string str;
cin>>str;
for(int i=0;i<n;i++)
assert(str[i]>='a' && str[i]<='z');
int len=n;
string s[5010];
s[len-1]=str[len-1];
for(int i=len-2;i>=0;i--)
{
s[i]=str[i]+s[i+1];
}
sort(s,s+len);
cout<<s[len-1]<<"\n";
//for(int i=0;i<len;i++)
//cout<<s[i]<<"\n";
return 0;
}