# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
866323 | JakobZorz | Horses (IOI15_horses) | C++14 | 1578 ms | 27852 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<math.h>
#include"horses.h"
using namespace std;
typedef long long ll;
typedef long double ld;
const int MOD=(int)1e9+7;
int n;
int x[500000];
ld xlog[500000];
int y[500000];
ld ylog[500000];
int calc(){
ld curr=1;
ld mx=0;
int maxi=0;
for(int i=0;i<n;i++){
curr+=xlog[i];
if(mx<curr+ylog[i]){
mx=curr+ylog[i];
maxi=i;
}
}
ll res=1;
for(int i=0;i<=maxi;i++){
res*=x[i];
res%=MOD;
}
return res*y[maxi]%MOD;
}
int init(int N,int X[],int Y[]){
n=N;
for(int i=0;i<n;i++){
x[i]=X[i];
xlog[i]=log(x[i]);
y[i]=Y[i];
ylog[i]=log(y[i]);
}
return calc();
}
int updateX(int pos,int val){
x[pos]=val;
xlog[pos]=log(x[pos]);
return calc();
}
int updateY(int pos,int val){
y[pos]=val;
ylog[pos]=log(y[pos]);
return calc();
}
Compilation message (stderr)
# | 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... |