Pagini recente » Cod sursa (job #2309648) | Cod sursa (job #1155244) | Cod sursa (job #1076859) | Diferente pentru planificare intre reviziile 10 si 9 | Cod sursa (job #2729215)
#include <iostream>
#include <fstream>
#include <stack>
using namespace std;
ifstream fin("text.in");
ofstream fout("text.out");
stack<int> stiva;
void afis(stack<int> stiva)
{if(!stiva.empty())
{int x = stiva.top();
stiva.pop();
afis(stiva);
fout<<x;}
}
int main()
{
int N,K,i,x,ok=0;
char nr[10000];
///ok-nr cifre taiate
fin>>N>>K;
fin>>nr;
for(i=0;i<N && ok<K;i++)
{x = nr[i] - '0';
while(!stiva.empty() && ok <K && x > stiva.top()){
stiva.pop();
ok++;
}
if(stiva.size() < N-K)
stiva.push(x);
else
ok++;
}
afis(stiva);
return 0;
}