Submission #1026246

#TimeUsernameProblemLanguageResultExecution timeMemory
1026246fv3Type Printer (IOI08_printer)C++14
20 / 100
1070 ms1884 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll INF = 1ll << 60ll; int main() { ios::sync_with_stdio(0); cin.tie(0); int N; cin >> N; vector<string> words(N); for (int i = 0; i < N; i++) cin >> words[i]; vector<string> bestPerm = words; ll best = INF; do { ll cnt = 0; string lastWord = ""; for (auto w : words) { int i = 0; for (; i < min(lastWord.size(), w.size()); i++) { if (w[i] != lastWord[i]) { break; } } for (int j = 0; j < lastWord.size() - i; j++) cnt++; for (; i < w.size(); i++) { cnt++; } cnt++; lastWord = w; } if (cnt < best) { best = cnt; bestPerm = words; } } while (next_permutation(words.begin(), words.end())); cout << best << '\n'; string lastWord = ""; for (auto w : bestPerm) { int i = 0; for (; i < min(lastWord.size(), w.size()); i++) { if (w[i] != lastWord[i]) { break; } } for (int j = 0; j < lastWord.size() - i; j++) cout << "-\n"; for (; i < w.size(); i++) { cout << w[i] << '\n'; } cout << "P\n"; lastWord = w; } return 0; }

Compilation message (stderr)

printer.cpp: In function 'int main()':
printer.cpp:31:13: warning: comparison of integer expressions of different signedness: 'int' and 'const long unsigned int' [-Wsign-compare]
   31 |    for (; i < min(lastWord.size(), w.size()); i++)
      |           ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printer.cpp:39:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |    for (int j = 0; j < lastWord.size() - i; j++)
      |                    ~~^~~~~~~~~~~~~~~~~~~~~
printer.cpp:42:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |    for (; i < w.size(); i++)
      |           ~~^~~~~~~~~~
printer.cpp:65:12: warning: comparison of integer expressions of different signedness: 'int' and 'const long unsigned int' [-Wsign-compare]
   65 |   for (; i < min(lastWord.size(), w.size()); i++)
      |          ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printer.cpp:73:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   73 |   for (int j = 0; j < lastWord.size() - i; j++)
      |                   ~~^~~~~~~~~~~~~~~~~~~~~
printer.cpp:76:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   76 |   for (; i < w.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...