#include<bits/stdc++.h>
#include "horses.h"
#define LL long long
using namespace std;
const int N_MAX = 5E5 + 1;
const LL mod = 1E9 + 7 , oo = 2E9;
int n;
vector<LL> x(N_MAX) , y(N_MAX);
int calc(){
int j = 0;
LL prd = 1;
for(int i = n - 1;i >= 0;i --){
__int128 A = prd * 1LL * x[i];
if(A > oo){
break;
}
prd *= x[i];
j = i;
}
prd = 1;
LL best = 0;
for(int i = j;i < n;i ++){
prd *= x[i];
best = max(best , prd * y[i]);
}
best %= mod;
for(int i = 0;i < j;i ++){
best = best * x[i] % mod;
}
best %= mod;
return (int)best;
}
int init(int N, int X[], int Y[]) {
n = N;
for(int i = 0;i < N;i ++){
x[i] = X[i];
y[i] = Y[i];
}
return calc();
}
int updateX(int pos, int val) {
x[pos] = val;
return calc();
}
int updateY(int pos, int val) {
y[pos] = val;
return calc();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |