#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fastIO cin.tie(0); ios::sync_with_stdio(false)
const ll MOD = 1e9 + 7;
double xl[500005];
double yl[500005];
ll x[500005];
ll y[500005];
ll n;
ll comp() {
double mxP = 0.0;
double prefX = 0.0;
ll ans = 0;
ll thing = 1;
for(int i = 0; i < n; i++) {
prefX += xl[i];
thing = ((thing * x[i]) % MOD + MOD) % MOD;
if(prefX + yl[i] >= mxP) {
mxP = prefX + yl[i];
ans = ((thing * y[i]) % MOD + MOD) % MOD;
}
}
assert(ans >= 0);
return ans;
}
ll init(int N, int X[], int Y[]) {
n = N;
for(int i = 0; i < n; i++) {
x[i] = X[i];
y[i] = Y[i];
xl[i] = log10(X[i]);
yl[i] = log10(Y[i]);
}
return comp();
}
ll updateX(int pos, int val) {
x[pos] = val;
xl[pos] = log10(val);
return comp();
}
ll updateY(int pos, int val) {
y[pos] = val;
yl[pos] = log10(val);
return comp();
}
# | 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... |