horses.cpp: In constructor 'FastMod::FastMod(ull)':
horses.cpp:15:14: warning: declaration of 'b' shadows a member of 'FastMod' [-Wshadow]
15 | FastMod(ull b) : b(b), m(ull((L(1) << 64) / b)) {}
| ~~~~^
horses.cpp:14:6: note: shadowed declaration is here
14 | ull b, m;
| ^
horses.cpp: In constructor 'FastMod::FastMod(ull)':
horses.cpp:15:14: warning: declaration of 'b' shadows a member of 'FastMod' [-Wshadow]
15 | FastMod(ull b) : b(b), m(ull((L(1) << 64) / b)) {}
| ~~~~^
horses.cpp:14:6: note: shadowed declaration is here
14 | ull b, m;
| ^
horses.cpp: In constructor 'FastMod::FastMod(ull)':
horses.cpp:15:14: warning: declaration of 'b' shadows a member of 'FastMod' [-Wshadow]
15 | FastMod(ull b) : b(b), m(ull((L(1) << 64) / b)) {}
| ~~~~^
horses.cpp:14:6: note: shadowed declaration is here
14 | ull b, m;
| ^
horses.cpp: In function 'int find(int, int, int, int)':
horses.cpp:55:7: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
55 | tmp *= dp[rc][1];
| ~~~~^~~~~~~~~~~~
horses.cpp: In function 'int Calc()':
horses.cpp:35:11: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
35 | #define S second
| ^
horses.cpp:111:36: note: in expansion of macro 'S'
111 | int tmp = get2(1, 0, n, 0, idx+1).S;
| ^
horses.cpp:112:59: error: no matching function for call to 'max(int&, long long int)'
112 | ll tmp2 = FM.reduce(max(y[idx], get2(1, 0, n, idx+1, n).F));
| ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from horses.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
254 | max(const _Tp& __a, const _Tp& __b)
| ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed:
horses.cpp:112:59: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
112 | ll tmp2 = FM.reduce(max(y[idx], get2(1, 0, n, idx+1, n).F));
| ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from horses.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp)
| ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed:
horses.cpp:112:59: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
112 | ll tmp2 = FM.reduce(max(y[idx], get2(1, 0, n, idx+1, n).F));
| ^
In file included from /usr/include/c++/10/algorithm:62,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
from horses.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
3480 | max(initializer_list<_Tp> __l)
| ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: template argument deduction/substitution failed:
horses.cpp:112:59: note: mismatched types 'std::initializer_list<_Tp>' and 'int'
112 | ll tmp2 = FM.reduce(max(y[idx], get2(1, 0, n, idx+1, n).F));
| ^
In file included from /usr/include/c++/10/algorithm:62,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
from horses.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
3486 | max(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: template argument deduction/substitution failed:
horses.cpp:112:59: note: mismatched types 'std::initializer_list<_Tp>' and 'int'
112 | ll tmp2 = FM.reduce(max(y[idx], get2(1, 0, n, idx+1, n).F));
| ^
horses.cpp:113:18: warning: conversion from 'ull' {aka 'long long unsigned int'} to 'int' may change value [-Wconversion]
113 | return FM.reduce(1ll * tmp * tmp2);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~