Giusti tutti i case delle prime 3 subtask tranne l’ultimo case di ogni subtask
#include <string>
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
string solve(string parola,int K)
{
string parola_giusta=parola,parola_da_salvare=parola;
while (K>0)
{
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;
K-=1;
}
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;
}
se invece cambio il maggiore con minore nella funzione solve nell’if parola>parola_giusta mi da giusti solo gli ultimi case delle tre subtask