horses.cpp: In function 'long long int pow(long long int, long long int, long long int)':
horses.cpp:31:21: warning: declaration of 'mod' shadows a global declaration [-Wshadow]
31 | ll pow(ll x,ll y,ll mod){return(!y?1:pow(x*x%mod,y/2,mod)*(y&1?x:1))%mod;}
| ^
horses.cpp:24:20: note: shadowed declaration is here
24 | const int N=5e5+99,mod=1e9+7;
| ^~~
horses.cpp: In function 'void build()':
horses.cpp:35:8: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
35 | f_(i,n-1,1) seg[i]=max(seg[i<<1],seg[i<<1|1]);
| ~^~
horses.cpp:7:29: note: in definition of macro 'f_'
7 | #define f_(i,a,b) for(int i=a;i>=b;i--)
| ^
horses.cpp: In function 'int get(int, int)':
horses.cpp:45:7: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
45 | for(l+=n,r+=n;l<r;l>>=1,r>>=1){
| ~^~~
horses.cpp:45:12: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
45 | for(l+=n,r+=n;l<r;l>>=1,r>>=1){
| ~^~~
horses.cpp:49:9: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
49 | return ans;
| ^~~
horses.cpp: In function 'int solve()':
horses.cpp:56:31: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
56 | maxm(ans,a[i]*max(ans,get(i,n)));
| ^
horses.cpp:13:27: note: in definition of macro 'maxm'
13 | #define maxm(a,b) a=max(a,b)
| ^
horses.cpp:56:33: error: no matching function for call to 'max(long long int&, int)'
56 | maxm(ans,a[i]*max(ans,get(i,n)));
| ^
horses.cpp:13:27: note: in definition of macro 'maxm'
13 | #define maxm(a,b) a=max(a,b)
| ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
from /usr/include/c++/10/ios:40,
from /usr/include/c++/10/istream:38,
from /usr/include/c++/10/sstream:38,
from /usr/include/c++/10/complex:45,
from /usr/include/c++/10/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
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:56:33: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
56 | maxm(ans,a[i]*max(ans,get(i,n)));
| ^
horses.cpp:13:27: note: in definition of macro 'maxm'
13 | #define maxm(a,b) a=max(a,b)
| ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
from /usr/include/c++/10/ios:40,
from /usr/include/c++/10/istream:38,
from /usr/include/c++/10/sstream:38,
from /usr/include/c++/10/complex:45,
from /usr/include/c++/10/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
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:56:33: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
56 | maxm(ans,a[i]*max(ans,get(i,n)));
| ^
horses.cpp:13:27: note: in definition of macro 'maxm'
13 | #define maxm(a,b) a=max(a,b)
| ^
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:56:33: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int'
56 | maxm(ans,a[i]*max(ans,get(i,n)));
| ^
horses.cpp:13:27: note: in definition of macro 'maxm'
13 | #define maxm(a,b) a=max(a,b)
| ^
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:56:33: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int'
56 | maxm(ans,a[i]*max(ans,get(i,n)));
| ^
horses.cpp:13:27: note: in definition of macro 'maxm'
13 | #define maxm(a,b) a=max(a,b)
| ^
horses.cpp:61:20: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
61 | return 1ll*res*ans%mod;
| ~~~~~~~~~~~^~~~
horses.cpp:63:36: error: a function-definition is not allowed here before '{' token
63 | int init(int _n, int X[], int Y[]) {
| ^
horses.cpp:74:31: error: a function-definition is not allowed here before '{' token
74 | int updateX(int pos, int val) {
| ^
horses.cpp:82:31: error: a function-definition is not allowed here before '{' token
82 | int updateY(int pos, int val) {
| ^
horses.cpp:86:1: error: expected '}' at end of input
86 | }
| ^
horses.cpp:51:12: note: to match this '{'
51 | int solve(){
| ^
horses.cpp:86:1: warning: control reaches end of non-void function [-Wreturn-type]
86 | }
| ^