General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
188181385 Practice:
DaiRuiChen007
1567D - 44 C++14 (GCC 6-32) Accepted 15 ms 156 KB 2023-01-06 10:47:52 2023-01-06 10:47:52
→ Source
// LUOGU_RID: 98828632
#include<bits/stdc++.h>
using namespace std;
int n,b[]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
inline void print(vector <int> vec) {
	vector <int> ans(n);
	for(int i=0;i<n;++i) ans[i]=b[vec[i]];
	for(int i=n;i<(int)vec.size();++i) {
		for(int j=0;j<n;++j) {
			if((ans[j]/b[vec[i]])%10!=9) {
				ans[j]+=b[vec[i]];
				break;
			}
		}
	}
	for(int i:ans) printf("%d ",i);
	puts("");
	return ;
}
inline void solve() {
	vector <int> ans;
	string sum;
	cin>>sum>>n; 
	int k=sum.size();
	for(int i=0;i<k;++i) {
		for(int j='1';j<=sum[i];++j) {
			ans.push_back(k-i-1);
		}
	}
	while((int)ans.size()<n) {
		sort(ans.begin(),ans.end());
		for(int i=0;i<(int)ans.size();++i) {
			if(ans[i]>0) {
				--ans[i];
				for(int j=1;j<=9;++j) ans.push_back(ans[i]);
				break;
			}
		}
	}
	print(ans);
}
signed main() {
	int T;
	cin>>T;
	while(T--) solve();
	return 0;
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details