Submission
Status:
[PP-SSSSSSSSSSSSSSS]
Score: 0
User: Nightingale
Problemset: การจัดแนวข้อความ
Language: cpp
Time: 0.002 second
Submitted On: 2025-04-01 12:48:22
#include <bits/stdc++.h>
#define int long long
using namespace std;
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int a,b;
int idx = 0;
int counter = 0;
cin >> a >> b;
string s[a];
vector<string> got;
for(int i=0;i<a;i++){
cin >> s[i];
}
while(1){
got.clear();
int fitx = 0;
int real = 0;
if(idx>=a) break;
while(fitx<=b&&idx<a){
if(fitx+s[idx].size()<=b){
got.push_back(s[idx]);
fitx+=s[idx].size();
real+=s[idx].size();
idx++;
}else break;
if(fitx+1+s[idx].size()<=b){
fitx+=1;
}
}
if(idx>=a) break;
vector<int> space(got.size(),0);
int i;
while(1){
if(i>=got.size()-1) i=0;
if(real+1<=b){
space[i]+=1;
real++;
}else break;
i++;
}
for(int i=0;i<got.size();i++){
cout << got[i];
for(int j=0;j<space[i];j++){
cout << ' ';
}
}
cout << '\n';
}
for(int i=0;i<got.size();i++){
cout << got[i] << ' ' ;
counter += got[i].size()+1;
}
for(int i=0;i<b-counter;i++){
cout << ' ';
}
}