Submission #765705

#TimeUsernameProblemLanguageResultExecution timeMemory
765705boyliguanhanLampice (COCI19_lampice)C++17
17 / 110
5045 ms524288 KiB
#include<bits/stdc++.h> using namespace std; string S; int ans = 0; vector<int> adj[50100]; void dfs(int x, string str, int p) { str+=S[x-1]; for(auto i: adj[x]) { if(i!=p) dfs(i,str,x); } if(ans < str.size()) { string str2 = str; reverse(str2.begin(), str2.end()); if(str==str2) ans = max(ans, (int)str.size()); } } int main() { int n; cin >> n >> S; for(int i = 1; i < n; i++) { int a, b; cin >> a >> b; adj[a].push_back(b); adj[b].push_back(a); } for(int i = 1; i <= n; i++) { dfs(i,"",0); } cout << ans << '\n'; }

Compilation message (stderr)

lampice.cpp: In function 'void dfs(int, std::string, int)':
lampice.cpp:12:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |     if(ans < str.size()) {
      |        ~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...