Xâu min c++(code đơn giản thôi nha mấy bn :-:) Cho xâu S chứa các kí tự 1..9 ( |S|≤1000 kí tự) và số nguyên K (1≤K≤|S|). (|S|độ dài của xâu S) Yêu cầu: Chọn Kkí tự trong xâu S theo thứ tự ban đầu để tạo thành số X gồm K chữ số có giá trị bé nhất. Dữ liệu vào Dòng 1: Ghi số K. Dòng 2: Ghi xâu S. Kết quả Ghi một số duy nhất X. Sample Input 3 89678982 Sample Output 672
1 câu trả lời
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long k; //k=3
cin>>k;
string s;//89678289 =8
cin>>s;
string a="";
int vt=-1;
int dd=s.size()-1;
for(int i=1;i<=k;i++)
{
char sln='9'+1;
for(int j=vt+1;j<=dd-(k-i);j++)
{
if(char(sln)>s[j]) {sln=s[j]; vt=j;}
}
a=a+sln;
}
cout<<a;
return 0;
}