Submission #394668

#TimeUsernameProblemLanguageResultExecution timeMemory
394668AnandPalindromes (APIO14_palindrome)C++14
0 / 100
1093 ms8632 KiB
#include <bits/stdc++.h> using namespace std; void expand(string str, int low, int high, auto& set) { while (low >= 0 && high < str.length() && str[low] == str[high]) { set.insert(str.substr(low, high - low + 1)); low--, high++; } } int main() { string str; cin >> str; unordered_set<string> set; vector<int> res; for (int i = 0; i < str.length(); i++) { expand(str, i, i, set); expand(str, i, i + 1, set); } for (auto it = set.begin(); it != set.end(); it++) cout << ' ' << *it; cout << endl; for(auto l = set.begin(); l != set.end(); l++) { string p = *l; int small = p.size(); int count = 0; for (int i = 0; i <= str.size() - small; i++) { int j; for (j = 0; j < small; j++) if (str[i+j] != p[j]) break; if (j == small) { count++; j = 0; } } //cout << p << ":" << count << endl; res.push_back(count*small); } sort(res.begin() , res.end()); int sz = res.size(); cout << res[sz-1]; return 0; }

Compilation message (stderr)

palindrome.cpp:5:44: warning: use of 'auto' in parameter declaration only available with '-fconcepts'
    5 | void expand(string str, int low, int high, auto& set)
      |                                            ^~~~
palindrome.cpp: In function 'int main()':
palindrome.cpp:23:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     for (int i = 0; i < str.length(); i++)
      |                     ~~^~~~~~~~~~~~~~
palindrome.cpp:37:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |         for (int i = 0; i <= str.size() - small; i++)
      |                         ~~^~~~~~~~~~~~~~~~~~~~~
palindrome.cpp: In instantiation of 'void expand(std::string, int, int, auto:1&) [with auto:1 = std::unordered_set<std::__cxx11::basic_string<char> >; std::string = std::__cxx11::basic_string<char>]':
palindrome.cpp:25:30:   required from here
palindrome.cpp:7:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 |     while (low >= 0 && high < str.length() && str[low] == str[high])
      |                        ~~~~~^~~~~~~~~~~~~~
#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...