# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|
1206409 | | pera | 말 (IOI15_horses) | C++20 | | 1596 ms | 12168 KiB |
#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;
const __int128 oo = 1E9;
int n;
vector<LL> x(N_MAX) , y(N_MAX);
int calc(){
int j = 0;
__int128 prd = 1;
for(int i = n - 1;i >= 0;i --){
j = i;
if(__int128(x[i]) * prd > oo){
break;
}
prd *= x[i];
}
prd = 1;
__int128 best = 0;
for(int i = j;i < n;i ++){
prd *= __int128(x[i]);
__int128 A = __int128(prd) * __int128(y[i]);
best = max(best , A);
}
best %= mod;
for(int i = 0;i < j;i ++){
best = x[i] * best % 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... |