Submission #1246701

#TimeUsernameProblemLanguageResultExecution timeMemory
1246701vtnooHorses (IOI15_horses)C++20
34 / 100
1596 ms12168 KiB
#pragma once

#include <bits/stdc++.h>

using namespace std;

const int mod=1e9+7, MAXN=500005;
long long X[MAXN], Y[MAXN];
int n;

int calc(){
    int j=0;
    long long prod=1;
    for(int i=1;i<n;i++){
        prod*=X[i];
        if(Y[j]<Y[i]*prod){
            j=i;
            prod=1;
        }
    }
    long long ans=1;
    for(int i=0;i<=j;i++){
        ans=(ans*X[i])%mod;
    }
    ans=(ans*Y[j])%mod;
    return ans;
}

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();
}

Compilation message (stderr)

horses.cpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...