제출 #1129506

#제출 시각아이디문제언어결과실행 시간메모리
1129506boris_7말 (IOI15_horses)C++20
34 / 100
1597 ms9144 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 = 0; for(int i = 0;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 = 0; for(int i = 0;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 = 0; for(int i = 0;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...