Submission #1190704

#TimeUsernameProblemLanguageResultExecution timeMemory
1190704akbarrType Printer (IOI08_printer)C++20
10 / 100
8 ms1508 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define run ios_base::sync_with_stdio(0);cin.tie(0);
#define F first
#define S second
#define endl '\n'
const int inf = 1e18+7;
const int sz = 1e5+5;
void solve() {
    int n;
    cin >> n;
    vector<string>v;
    for(int i = 0;i < n;i++){
        string s;
        cin >> s;
        v.push_back(s);
    }
    sort(v.begin(),v.end());
    int cost = 0;
    vector<char>op;
    int suf = 0;
    int psuf = 0;
    for(int i = 0; i < n;i++){
        if(i < n-1){
            int lm = min((int)(v[i].size()),(int)(v[i+1].size()));
            while(suf < lm && v[i][suf] == v[i+1][suf]) suf++;
        }
        for(int j = psuf;j < v[i].size();j++)    op.push_back(v[i][j]);
        op.push_back('P');
        if(i <n-1) for(int j = suf; j < v[i].size();j++)   op.push_back('-');
        psuf = suf;
    }
    cout << op.size() << endl;
    for(auto i : op)    cout << i << endl;
}
 
signed main() {
    run;
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
}
// 11111100000
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...