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 << ' ';
  }
}