horses.cpp: In function 'll mult(ll, ll)':
horses.cpp:25:18: warning: declaration of 'b' shadows a global declaration [-Wshadow]
25 | ll mult(ll a, ll b)
| ~~~^
horses.cpp:21:15: note: shadowed declaration is here
21 | vector<ll> a, b;
| ^
horses.cpp:25:12: warning: declaration of 'a' shadows a global declaration [-Wshadow]
25 | ll mult(ll a, ll b)
| ~~~^
horses.cpp:21:12: note: shadowed declaration is here
21 | vector<ll> a, b;
| ^
horses.cpp: In member function 'void SegTree::build(int)':
horses.cpp:46:17: warning: declaration of 'n' shadows a global declaration [-Wshadow]
46 | void build(int n)
| ~~~~^
horses.cpp:20:5: note: shadowed declaration is here
20 | int n;
| ^
horses.cpp: In member function 'void SegTreeMX::build(int)':
horses.cpp:97:17: warning: declaration of 'n' shadows a global declaration [-Wshadow]
97 | void build(int n)
| ~~~~^
horses.cpp:20:5: note: shadowed declaration is here
20 | int n;
| ^
horses.cpp: In function 'int getans()':
horses.cpp:139:24: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
139 | if (s.empty()) return ans;
| ^~~
horses.cpp:142:72: warning: conversion from 'long long int' to 'std::vector<int>::value_type' {aka 'int'} may change value [-Wconversion]
142 | for (auto it = s.rbegin(); k <= 30 && it != s.rend(); it++, k++) v.pb(*it);
| ^~~
horses.cpp:149:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
149 | for (int i = 1; i < v.size(); i++)
| ~~^~~~~~~~~~
horses.cpp:165:18: warning: conversion from 'std::set<long long int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
165 | int szs = s.size();
| ~~~~~~^~
horses.cpp:166:18: warning: conversion from 'std::vector<int>::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
166 | int szv = v.size();
| ~~~~~~^~
horses.cpp:167:42: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
167 | if (szs - (szv - ind) >= 30) return mult(st.get(0, v[ind]), stmx.get(v[ind], n - 1));
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
horses.cpp:178:31: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
178 | if (f || x > ans) return mult(st.get(0, v[ind]), stmx.get(v[ind], n - 1));
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
horses.cpp:179:14: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
179 | else return ans;
| ^~~