Submission #1129514

#TimeUsernameProblemLanguageResultExecution timeMemory
1129514boris_7Horses (IOI15_horses)C++20
0 / 100
1595 ms9140 KiB
#include "horses.h" #include<bits/stdc++.h> int mod = 1e9+7; using namespace std; using ll = long long; vector<int>x,y; int n; int init(int N, int X[], int Y[]) { n = N; for(int i = 0;i<N;i++) x.push_back(X[i]); for(int i = 0;i<N;i++) y.push_back(Y[i]); ll ans = 1,cnt=1,ind = n-31; for(int i = n-30;i<n;i++){ cnt*=x[i]; if(cnt*y[i]>=y[ind]) ind = i,cnt=1; } for(int i = 0;i<=ind;i++) ans=(ans*x[i])%mod; ans*=y[ind]; return ans%mod; } int updateX(int pos, int val) { x[pos]=val; ll ans = 1,cnt=1,ind = n-31; for(int i = n-30;i<n;i++){ cnt*=x[i]; if(cnt*y[i]>=y[ind]) ind = i,cnt=1; } for(int i = 0;i<=ind;i++) ans=(ans*x[i])%mod; ans*=y[ind]; return ans%mod; } int updateY(int pos, int val) { y[pos]=val; ll ans = 1,cnt=1,ind = n-31; for(int i = n-30;i<n;i++){ cnt*=x[i]; if(cnt*y[i]>=y[ind]) ind = i,cnt=1; } for(int i = 0;i<=ind;i++) ans=(ans*x[i])%mod; ans*=y[ind]; return ans%mod; }
#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...