Submission #1206395

#TimeUsernameProblemLanguageResultExecution timeMemory
1206395peraHorses (IOI15_horses)C++20
17 / 100
1594 ms12168 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 , oo = 2E9; int n; vector<LL> x(N_MAX) , y(N_MAX); int calc(){ int j = 0; LL prd = 1; for(int i = n - 1;i >= 0;i --){ __int128 A = prd * 1LL * x[i]; if(A > oo){ break; } prd *= x[i]; j = i; } prd = 1; LL best = 0; for(int i = j;i < n;i ++){ prd *= x[i]; best = max(best , prd * y[i]); } best %= mod; for(int i = 0;i < j;i ++){ best = best * x[i] % 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 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...