Submission #395748

#TimeUsernameProblemLanguageResultExecution timeMemory
395748abdzagPalindromes (APIO14_palindrome)C++17
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>

#define rep(i,a,b) for(int i=int(a);i<int(b);i++)
#define rrep(i,a,b) for(int i=int(a);i>int(b); i--);
#define all(v) v.begin(),v.end()
#define trav(a,v) for(auto&a:v)

using namespace std;

typedef long long ll;

const ll inf = 1e15;

vector<vector<ll>>dp(100, vector<ll>(100, -1));
bool solve(ll l, ll r, string& s) {
	if (l == r)return 1;
	else if (l + 1 == r)return s[l] == s[r];
	return dp[l][r]=(s[l] == s[r] && solve(l +1, r - 1,s));
}
int main()
{
	cin.sync_with_stdio(false);
	string s1, s2;
	cin >> s1;
	ll ans = 0;
	map<string, ll> mp;
	rep(i, 0, s1.size()) {
		string curs = "";
		rep(j, i, s1.size()) {
			curs += s1[j];
			if (solve(i, j, s1)) {
				mp[curs]++;
			}
		}
	}
	trav(a, mp) {
		ans = max(ans, a.first.size() * a.second);
	}
	cout << ans;
	return 0;
}

Compilation message (stderr)

palindrome.cpp: In function 'bool solve(ll, ll, std::string&)':
palindrome.cpp:18:17: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   18 |  return dp[l][r]=(s[l] == s[r] && solve(l +1, r - 1,s));
palindrome.cpp: In function 'int main()':
palindrome.cpp:37:43: error: no matching function for call to 'max(ll&, long long unsigned int)'
   37 |   ans = max(ans, a.first.size() * a.second);
      |                                           ^
In file included from /usr/include/c++/9/bits/specfun.h:45,
                 from /usr/include/c++/9/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:41,
                 from palindrome.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:222:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  222 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:222:5: note:   template argument deduction/substitution failed:
palindrome.cpp:37:43: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'long long unsigned int')
   37 |   ans = max(ans, a.first.size() * a.second);
      |                                           ^
In file included from /usr/include/c++/9/bits/specfun.h:45,
                 from /usr/include/c++/9/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:41,
                 from palindrome.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  268 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:268:5: note:   template argument deduction/substitution failed:
palindrome.cpp:37:43: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'long long unsigned int')
   37 |   ans = max(ans, a.first.size() * a.second);
      |                                           ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from palindrome.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3456:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3456 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
palindrome.cpp:37:43: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   37 |   ans = max(ans, a.first.size() * a.second);
      |                                           ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from palindrome.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3462 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3462:5: note:   template argument deduction/substitution failed:
palindrome.cpp:37:43: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   37 |   ans = max(ans, a.first.size() * a.second);
      |                                           ^