/*
ID: didarco1
LANG: C++17
TASK:
*/
// a >> b = a / pow(2,b)
// a << b = a * pow(2,b)
#include <bits/stdc++.h>
#define ll long long int
#define pb push_back
#define sz size()
#define ss second
#define ff first
#define N 200001
#define pii pair<int,int>
#define all(x) (x.begin(),x.end())
#define MOD 1e9+7
using namespace std;
//ll _, x, n;
ll mod(int x){
if(x >= MOD) x %= MOD;
return x;
}
//
//void upd(int nd, int l, int r, int x, int y){
// if(l == r and l == y){
// sell[i]
// }
//}
ll init(int n, vector <int> X, vector<int> Y){
ll hrs = 1, mx = 0;
// for(int i = 1; i <= n; i++){
// hrs *= X[i];
// sell[i] = hrs * Y[i];
// }
// for(int i = 1; i <= n; i++){
// upd(1,1,n,i,sell[i]);
// }
for(int i = 0; i < n; i++){
hrs = mod(hrs * X[i]);
mx = max(mx,mod(hrs*Y[i]));
}
return mx;
}
//int main(){
// int x;
// cin >> n;
// for(int i = 0; i < n; i++){
// cin >> x;
// X.pb(x);
// }
// for(int i = 0; i < n; i++){
// cin >> x;
// Y.pb(x);
// }
// init(n,X,Y);
//}
Compilation message
horses.cpp: In function 'long long int mod(int)':
horses.cpp:24:17: error: invalid operands of types 'int' and 'double' to binary 'operator%'
24 | if(x >= MOD) x %= MOD;
| ^
horses.cpp:24:17: note: in evaluation of 'operator%=(int, double)'
horses.cpp: In function 'long long int init(int, std::vector<int>, std::vector<int>)':
horses.cpp:44:17: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
44 | hrs = mod(hrs * X[i]);
horses.cpp:45:22: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
45 | mx = max(mx,mod(hrs*Y[i]));