Submission #522227

#TimeUsernameProblemLanguageResultExecution timeMemory
522227blueType Printer (IOI08_printer)C++17
100 / 100
95 ms5500 KiB
#include <iostream> #include <string> #include <algorithm> using namespace std; string W; bool xcompare(string& A, string& B) { return A.size() < B.size(); } bool scompare(string& A, string& B) { int a, b; for(a = 0; A[a] == W[a]; a++); for(b = 0; B[b] == W[b]; b++); if(a == b) { if(A == B) return 1; for(int i = 0; i < min(A.size(), B.size()); i++) { if(A[i] < B[i]) return 1; if(A[i] > B[i]) return 0; } return A.size() < B.size(); } return a < b; } int main() { int n; cin >> n; string S[n+1]; for(int i = 1; i <= n; i++) cin >> S[i]; sort(S+1, S+n+1, xcompare); W = S[n]; sort(S+1, S+n+1, scompare); string P; string res; for(int i = 1; i <= n; i++) { while((P.length() > S[i].length()) || (S[i].substr(0, P.length()) != P)) { P.pop_back(); res += char(45); } while(P.length() < S[i].length()) { P += S[i][P.length()]; res += S[i][P.length()-1]; } res += 'P'; } cout << res.length() << '\n'; for(char c:res) cout << c << '\n'; return 0; }

Compilation message (stderr)

printer.cpp: In function 'bool scompare(std::string&, std::string&)':
printer.cpp:21:26: warning: comparison of integer expressions of different signedness: 'int' and 'const long unsigned int' [-Wsign-compare]
   21 |         for(int i = 0; i < min(A.size(), B.size()); 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...