horses.cpp: In member function 'void segint::upd(int, int)':
horses.cpp:47:34: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
t[pos]=t[pos*2]*1LL*t[pos*2+1]%D;
~~~~~~~~~~~~~~~~~~~~~~~^~
horses.cpp: In member function 'int segint::rangePi(int, int)':
horses.cpp:55:32: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
if(l&1) ret=(ret*1LL*t[l++])%D;
~~~~~~~~~~~~~~~~^~
horses.cpp:56:37: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
if((r&1)==0) ret=(ret*1LL*t[r--])%D;
~~~~~~~~~~~~~~~~^~
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:69:14: error: 'log' was not declared in this scope
sumt.upd(0, log(x[0]) + log(y[0]));
^~~
horses.cpp:69:14: note: suggested alternative: 'long'
sumt.upd(0, log(x[0]) + log(y[0]));
^~~
long
horses.cpp:78:16: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
return a*1LL*b%D;
~~~~~~~^~
horses.cpp: In function 'void refresh(int)':
horses.cpp:83:11: error: 'log' was not declared in this scope
double t=log(x[i])+log(y[i]);
^~~
horses.cpp:83:11: note: suggested alternative: 'long'
double t=log(x[i])+log(y[i]);
^~~
long
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:96:16: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
return a*1LL*b%D;
~~~~~~~^~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:105:16: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
return a*1LL*b%D;
~~~~~~~^~