horses.cpp: In function 'void updateBlock(int)':
horses.cpp:22:18: warning: conversion to 'll {aka long long int}' from 'double' may alter its value [-Wfloat-conversion]
blc[p].mul = x[L];
~~~^
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:57:33: warning: declaration of 'N' shadows a global declaration [-Wshadow]
int init(int N, int X[], int Y[]) {
^
horses.cpp:6:11: note: shadowed declaration is here
const int N = 5e5+10;
^
horses.cpp:65:14: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
return solve();
~~~~~^~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:72:14: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
return solve();
~~~~~^~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:79:14: warning: conversion to 'int' from 'll {aka long long int}' may alter its value [-Wconversion]
return solve();
~~~~~^~
horses.cpp: In function 'll solve()':
horses.cpp:39:11: warning: 'BlockNUM' may be used uninitialized in this function [-Wmaybe-uninitialized]
int idx, BlockNUM;
^~~~~~~~
horses.cpp:52:3: warning: 'idx' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(i == idx) ret = ret * (ll)y[j] % MOD;
^~