# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
582408 | mohammad_kilani | Type Printer (IOI08_printer) | C++17 | 39 ms | 5120 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define oo 1000000010
#define mod 998244353
const int N = 25000;
const int M = N * 20 + 1;
string mx;
bool compare(string &a,string &b){
for(int i = 0 ;i < (int)a.size() && i < (int)b.size();i++){
if(a[i] == b[i]) continue;
if(a[i] == mx[i])
return false;
if(b[i] == mx[i])
return true;
return (a[i] < b[i]);
}
return (int)a.size() < (int)b.size();
}
int main(){
int n;
scanf("%d",&n);
char tmpRead[21];
string s;
vector< string > v;
for(int i = 0 ;i < n;i++){
scanf("%s",tmpRead);
s = (string)tmpRead;
v.push_back(s);
if((int)s.size() > (int)mx.size())
mx = s;
}
sort(v.begin(),v.end(), compare);
string ans;
for(int l, i = 0 ;i < (int)v.size();i++){
l = 0;
if(i != 0){
while(l < (int)v[i].size() && l < (int)v[i - 1].size() && v[i][l] == v[i - 1][l]) l++;
for(int j = (int)v[i - 1].size();j > l;j--){
ans += '-';
}
}
for(int j = l;j < (int)v[i].size();j++){
ans += v[i][j];
}
ans += 'P';
}
printf("%d\n",(int)ans.size());
for(int i = 0 ;i < (int)ans.size();i++){
putchar(ans[i]);
puts("");
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |