#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
#define REP(a,i,n) for (ll i=a;i<n;i++)
#define ll long long
#define ssize 500'005
const ll MOD = 1e9+7;
int N;
ll X[ssize], Y[ssize], rProd[ssize];
ll solve() {
ll mx=0, hNum=1, ind=N-1;
long double emx = -1, hiNum=0, ylog;
REP(0,i,N) {
hiNum += log10(X[i]);
rProd[i+1] = (rProd[i]*X[i])%MOD;
ylog = log10(Y[i]);
if (hiNum+ylog > emx) {
emx = hiNum+ylog;
ind = i;
}
}
return (rProd[ind+1]*Y[ind])%MOD;
}
ll init(int n, int x[], int y[]) {
rProd[0]=1;
N = n;
REP(0,i,n) {
X[i] = x[i];
Y[i] = y[i];
}
return solve();
}
ll updateX(int pos, int val) {
X[pos] = val;
return solve();
}
ll updateY(int pos, int val) {
Y[pos] = val;
return solve();
}
# | 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... |