Submission
Status:
[TSSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: C12
Problemset: การจัดแนวข้อความ
Language: cpp
Time: 1.098 second
Submitted On: 2026-01-04 01:06:06
#include <bits/stdc++.h>
using namespace std;
#define f first
#define s second
#define pii pair<ll,ll>
#define puii pair<ull,ull>
#define piii pair<ll,pii>
#define ll long long
#define ull unsigned long long
#define mp make_pair
#define mpiii(a,b,c) make_pair(a,make_pair(b,c));
// ll mod = 1000000007;
void solve(){
int n,m;
cin >> n >> m;
vector<string>v;
vector<ll>len;
string st;
for(int i = 0;i < n;i++){
cin >> st;
v.push_back(st);
if(i > 0){
len.push_back(len[len.size() - 1] + st.length());
}
else{
len.push_back(st.length());
}
}
ll start,end,spacebar;
ll i = 0,j = 0;
while(i < n){
while(j < n && (len[j] - len[i] + v[i].size()) + (j- i) <= m){
j++;
}
// cout << j << ' ' << i << '\n';
j--;
while(j-i > 0 && (m - (len[j] - len[i] + v[i].size())) % (j-i) != 0){
j--;
}
// cout << j << ' ' << i << '\n';
if(j-i > 0){
spacebar = (m - (len[j] - len[i] + v[i].size())) / (j-i);
}
else{
spacebar = (m - (len[j] - len[i] + v[i].size()));
}
for(int k = i;k <= j;k++){
cout << v[k];
for(int p = 0;p < spacebar;p++){
cout << ' ';
}
}
cout << '\n';
i = j + 1;
}
return;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ll q;
// cin >> q;
// while(q--)
solve();
return 0;
}
/*
7 16
This is an example of text justification.
*/