Submission

Status:

[P-SSSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: kittipos

Problemset: การจัดแนวข้อความ

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-09 20:41:31

#include <bits/stdc++.h>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n, m;
    cin >> n >> m;
    
    string carry = "a";
    int cnt = 0;
    while (!carry.empty()) {
        vector<string> line;
        int space_left = m;

        if (cnt != 0) {
            line.push_back(carry);
            space_left -= carry.size();
            carry = "";
        } else {
            space_left++;
        }

        while (space_left >= 0 && cnt < n) {
            string temp;
            cin >> temp;
            cnt++;
            if (space_left > temp.size()+1) {
                line.push_back(temp);
                space_left -= temp.size() + 1;
            } else {
                carry = temp;
                break;
            }
        }

        // cout << "space left: " << space_left << endl;

        for (int i = 0; i < line.size(); i++) {
            if (i != 0) cout << ' ';
            cout << line[i];
            // check is this not last word or last like
            if (i != line.size()-1 && !carry.empty()) {
                // cout << space_left / (line.size()-1) << endl;
                for (int j = 0; j < space_left / (line.size()-1); j++) {
                    cout << ' ';
                }
                if (i < space_left % (n-1)) {
                    cout << ' ';
                }
            }
        }
        cout << "\n";
    }

    return 0;
}