Submission #1011897

#TimeUsernameProblemLanguageResultExecution timeMemory
1011897kaopjType Printer (IOI08_printer)C++17
100 / 100
72 ms4688 KiB
#include <iostream> #include <vector> #include <algorithm> #define lgm cin.tie(0)->sync_with_stdio(0); #define ll long long using namespace std; string maxi=""; int pref(string s1, string s2) { int i; for(i=0; i<min(s1.size(), s2.size()); i++) { if(s1[i] != s2[i]) return i; } return i; } static bool cmp(string&a,string&b) { int x=pref(a,maxi); int y=pref(b,maxi); if (a == maxi) { return false; } if (b == maxi) { return true; } if (x != y) { return x<y; } return a < b; } int main() { ll n; cin >> n; vector<string> p(n+1); for (int i=1;i<=n;i++) { cin >> p[i]; if (p[i].size() > maxi.size()) { maxi = p[i]; } } sort(p.begin()+1,p.end(),cmp); int pr,mx=0; for(int i=1; i<=n; i++) { pr = pref(p[i-1], p[i]); mx += p[i-1].size() + p[i].size() - 2*pr; } cout << mx+n << '\n'; for(int i=1; i<=n; i++) { pr = pref(p[i-1], p[i]); for(int j=p[i-1].size(); j>pr; j--) { cout << "-\n"; } for(int j=pr; j<p[i].size(); j++) { cout << p[i][j] << '\n'; } cout << "P\n"; } return 0; }

Compilation message (stderr)

printer.cpp: In function 'int pref(std::string, std::string)':
printer.cpp:10:15: warning: comparison of integer expressions of different signedness: 'int' and 'const long unsigned int' [-Wsign-compare]
   10 |     for(i=0; i<min(s1.size(), s2.size()); i++) {
      |              ~^~~~~~~~~~~~~~~~~~~~~~~~~~
printer.cpp: In function 'int main()':
printer.cpp:51:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |         for(int j=pr; j<p[i].size(); j++) {
      |                       ~^~~~~~~~~~~~
#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...