Passphrase Obfuscation (time help)

#include <string>
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */





bool FattoDiUnaLettera(string parola)
{
	char lettera=parola[0];
	for (int i=1;i<parola.length()-1;i++)
	{
		if (lettera!=parola[i])
		{
			return false;
		}
	
	}
	return true;
}


bool FattoDiDueLettere(string parola)
{
	char PrimaLettera=parola[0];
	char SecondaLettera=parola[1];
	int lunghezza=parola.length();
	if (lunghezza-1%2==0)
	{
		for (int i=0;i<parola.length()-1;i+=2)
		{
			if (PrimaLettera!=parola[i])
			{
				return false;
			}
			if (SecondaLettera!=parola[i+1])
			{
				
				return false;
			}
		}
	}
	else 
	{
		return false;
	}
	return true;
}



string RisolviDueLettere(string parola,int K)
{
	char PrimaLettera=parola[0];
	char SecondaLettera=parola[1];
	int indice;
	if (PrimaLettera>SecondaLettera)
	{
		indice=0;
		for (int i=0;i<K;i++)
		{
			parola.replace(indice,1,"");
			indice+=2;
		}
	}
	else
	{
		indice=1;
		for (int i=0;i<K;i++)
		{
			parola.replace(indice,1,"");
			indice+=2;
		}
	}
	return parola;
}

string solve(string parola,int K)
{

	string parola_giusta=parola,parola_da_salvare=parola;
	for (;K>0;K--)
	{
		if (FattoDiUnaLettera(parola_da_salvare))
		{
			parola_da_salvare.replace(0,K,"");
			return parola_da_salvare;
		}
		
		if (FattoDiDueLettere(parola_da_salvare))
		{
			RisolviDueLettere(parola_da_salvare,K);
			return parola_da_salvare;
		}
		for (int i=0;i<parola_da_salvare.length()-1;i++)
		{
			parola=parola_da_salvare;
			parola.replace(i,1,"");
			if (parola>parola_giusta)
			{
				parola_giusta=parola;
			}
		}

		parola_da_salvare=parola_giusta;
	}

	return parola_da_salvare;
}



int main(int argc, char** argv) {
	string parola;
	long int N;//lunghezza stringa
	long int K;//numero di lettere da levare
	cin>>N>>K;
	cin>>parola;
	cout<<solve(parola,K)<<endl;
	return 0;
}

75/100 non riesco a rispettare tutte i case dell’ultima subtask qualcuno riesce ad aiutare?

Ciao, prova a spiegare brevemente cosa fa il tuo programma

grazie lo stesso ho risolto