horses.cpp: In member function 'void tree::init(long long int)':
horses.cpp:17:12: warning: conversion from 'double' to 'long long int' may change value [-Wfloat-conversion]
17 | NN = exp2(ceil(log2(n)));
| ~~~~^~~~~~~~~~~~~~~
horses.cpp: In member function 'long long int tree::queryMax(long long int, long long int, long long int)':
horses.cpp:25:20: error: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'struct std::pair<long long int, long long int>'} has no member named 'F'
25 | return seg[ind].F;
| ^
horses.cpp: In member function 'long long int tree::queryProd(long long int, long long int, long long int)':
horses.cpp:34:20: error: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'struct std::pair<long long int, long long int>'} has no member named 'S'
34 | return seg[ind].S;
| ^
horses.cpp: In member function 'void tree::update(std::pair<long long int, long long int>, long long int)':
horses.cpp:44:13: error: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'struct std::pair<long long int, long long int>'} has no member named 'F'
44 | seg[ind].F = max(seg[ind * 2].F, seg[ind * 2 + 1].F);
| ^
horses.cpp:44:34: error: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'struct std::pair<long long int, long long int>'} has no member named 'F'
44 | seg[ind].F = max(seg[ind * 2].F, seg[ind * 2 + 1].F);
| ^
horses.cpp:44:54: error: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'struct std::pair<long long int, long long int>'} has no member named 'F'
44 | seg[ind].F = max(seg[ind * 2].F, seg[ind * 2 + 1].F);
| ^
horses.cpp:45:13: error: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'struct std::pair<long long int, long long int>'} has no member named 'S'
45 | seg[ind].S = (seg[ind * 2].S * seg[ind * 2 + 1].S) % mod;
| ^
horses.cpp:45:31: error: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'struct std::pair<long long int, long long int>'} has no member named 'S'
45 | seg[ind].S = (seg[ind * 2].S * seg[ind * 2 + 1].S) % mod;
| ^
horses.cpp:45:52: error: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> >, std::pair<long long int, long long int> >::value_type' {aka 'struct std::pair<long long int, long long int>'} has no member named 'S'
45 | seg[ind].S = (seg[ind * 2].S * seg[ind * 2 + 1].S) % mod;
| ^
horses.cpp: In function 'long long int solve()':
horses.cpp:55:12: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
55 | int i = n - 1;
| ~~^~~
horses.cpp:4:11: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
4 | #define l first
| ^
horses.cpp:62:14: note: in expansion of macro 'l'
62 | i = (*it).l;
| ^
horses.cpp:72:7: warning: statement has no effect [-Wunused-value]
72 | for (i; i < n; i++)
| ^
horses.cpp:5:11: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
5 | #define r second
| ^
horses.cpp:85:14: note: in expansion of macro 'r'
85 | i = (*it).r;
| ^
horses.cpp:54:5: warning: unused variable 'st' [-Wunused-variable]
54 | ll st, id = 0;
| ^~
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:146:14: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
146 | return solve();
| ~~~~~^~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:5:11: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
5 | #define r second
| ^
horses.cpp:157:23: note: in expansion of macro 'r'
157 | l = pos, r = (*it).r;
| ^
horses.cpp:4:11: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
4 | #define l first
| ^
horses.cpp:168:15: note: in expansion of macro 'l'
168 | l = (*it).l;
| ^
horses.cpp:193:14: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
193 | return solve();
| ~~~~~^~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:200:14: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
200 | return solve();
| ~~~~~^~