Se citesc doua numere naturale n si k, k fiind mai mic decat numarul de cifre ale numarului n. Afisati cel mai mare numar care se poate forma eliminand k cifre din numarul n.
Exemplu:
n=3452234
k=4
numarul cautat este 534
#include <iostream>
using namespace std;
int n, a[10],x[10],maxx,k;
int numar(int a[10],int x[10], int c)
{
int nr=0;
for(int i=1;i<=c;i++)
nr=nr*10+a[x[i]];
return nr;
}
void back(int k, int c)
{
for(int i=n;i>=1;i--)
if(i<x[k-1] || k==1)
{
x[k]=i;
if(k==c)
{
int nr=numar(a,x,c);
if(nr>maxx) maxx=nr;
}
else back(k+1,c);
}
}
int main()
{
cin>>n>>k;
int i=0;
while(n)
{
a[++i]=n%10;
n=n/10;
}
n=i;
back(1,n-k);
cout<<maxx;
return 0;
}