Submission #1314936

#TimeUsernameProblemLanguageResultExecution timeMemory
1314936exoworldgdType Printer (IOI08_printer)C++20
100 / 100
60 ms3956 KiB
#include <bits/stdc++.h> #define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0) using namespace std; int n,sum=0,temp; string curr,w[25005],s; int cnt(string a, string b) { int i=0; while (i < min(a.size(),b.size()) && a[i]==b[i]) i++; return i; } bool cmp(string a, string b) { int x = cnt(a,s), y = cnt(b,s); if (a == s) return 0; if (b == s) return 1; return x^y ? x<y:a<b; } signed main(void) { exoworldgd; cin >> n; for (int i = 0; i < n; i++) { cin >> w[i]; if (w[i].size() > s.size()) s = w[i]; } sort(w,w+n,cmp); for (int i = 0; i < n; i++) temp = cnt(curr,w[i]), sum += curr.size()-temp+w[i].size()-temp+1, curr = w[i]; cout << sum << '\n', curr=""; for (int i = 0; i < n; i++) { temp = cnt(curr,w[i]); for (int j = curr.size()-1; j >= temp; j--) cout << "-\n"; for (int j = temp; j < w[i].size(); j++) cout << w[i][j] << '\n'; cout << "P\n", curr=w[i]; } }
#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...