# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
960235 | irmuun | Type Printer (IOI08_printer) | C++17 | 75 ms | 5608 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 ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()
string t="";
bool cmp(string a,string b){
int i1=-1,i2=-1;
for(int i=0;i<a.size();i++){
if(a[i]!=t[i]){
break;
}
i1++;
}
for(int i=0;i<b.size();i++){
if(b[i]!=t[i]){
break;
}
i2++;
}
if(i1==i2){
return (a<b);
}
return (i1<i2);
}
int main(){
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int n;
cin>>n;
string s[n];
for(int i=0;i<n;i++){
cin>>s[i];
}
for(int i=0;i<n;i++){
if(t.size()<s[i].size()){
t=s[i];
}
}
sort(s,s+n,cmp);
vector<char>ans;
string cur="";
for(int i=0;i<n;i++){
while(cur.size()>s[i].size()){
ans.pb('-');
cur.pop_back();
}
while(!cur.empty()&&s[i].substr(0,cur.size())!=cur){
ans.pb('-');
cur.pop_back();
}
for(int j=cur.size();j<s[i].size();j++){
ans.pb(s[i][j]);
cur+=s[i][j];
}
ans.pb('P');
}
cout<<ans.size()<<"\n";
for(auto x:ans){
cout<<x<<'\n';
}
}
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... |