제출 #1273788

#제출 시각아이디문제언어결과실행 시간메모리
1273788Petrix말 (IOI15_horses)C++20
34 / 100
1595 ms12180 KiB
#include "horses.h"
#include<iostream>
using namespace std;

#pragma GCC optimize("O3,inline")
#define MOD 1000000007

int n;
long long x[600001];
long long y[600001];

int calc(){
    long long ci,prod,i,rasp=1,max1;
    for(i=1;i<=n;i++) max1=max(max1,y[i]);
    ci=n;prod=y[n]*x[n];
    for(i=n-1;i>=1;i--){
        if(prod>max1) break;
        if(y[i]>prod){
            ci=i;prod=y[i];
        }
        prod*=x[i];
    }
    for(i=1;i<=ci;i++){
        rasp=(rasp*x[i])%MOD;
    }
    rasp=(rasp*y[ci])%MOD;
	return rasp;
}

int init(int N,int X[],int Y[]){
    int i;
    n=N;
    for(i=1;i<=n;i++){
        x[i]=X[i-1];
        y[i]=Y[i-1];
    }
    return calc();
}

int updateX(int pos,int val){
    x[pos+1]=val;
	return calc();
}

int updateY(int pos,int val){
    y[pos+1]=val;
	return calc();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...