horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:82:23: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
82 | return st.query().mbh;
| ~~~~~~~~~~~^~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:87:34: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
87 | vr[pos] = range(val, vr[pos].y);
horses.cpp:89:23: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
89 | return st.query().mbh;
| ~~~~~~~~~~~^~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:94:29: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
94 | vr[pos] = range(vr[pos].x, val);
horses.cpp:96:23: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
96 | return st.query().mbh;
| ~~~~~~~~~~~^~~
horses.cpp: In instantiation of 'SegTree<T>::SegTree(std::vector<_Tp>) [with T = range]':
horses.cpp:81:27: required from here
horses.cpp:63:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<range, std::allocator<range> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
63 | while (n < in.size())
| ~~^~~~~~~~~~~
horses.cpp:66:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<range, std::allocator<range> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
66 | for (int i = 0; i < in.size(); i++)
| ~~^~~~~~~~~~~