Submission #1190083

#TimeUsernameProblemLanguageResultExecution timeMemory
1190083jasonicHorses (IOI15_horses)C++20
34 / 100
1597 ms19996 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define fastIO cin.tie(0); ios::sync_with_stdio(false) const ll MOD = 1e9 + 7; double xl[500005]; double yl[500005]; ll x[500005]; ll y[500005]; ll n; ll comp() { double mxP = 0.0; double prefX = 0.0; ll ans = 0; ll thing = 1; for(int i = 0; i < n; i++) { prefX += xl[i]; thing = ((thing * x[i]) % MOD + MOD) % MOD; if(prefX + yl[i] >= mxP) { mxP = prefX + yl[i]; ans = ((thing * y[i]) % MOD + MOD) % MOD; } } assert(ans >= 0); return ans; } ll init(int N, int X[], int Y[]) { n = N; for(int i = 0; i < n; i++) { x[i] = X[i]; y[i] = Y[i]; xl[i] = log10(X[i]); yl[i] = log10(Y[i]); } return comp(); } ll updateX(int pos, int val) { x[pos] = val; xl[pos] = log10(val); return comp(); } ll updateY(int pos, int val) { y[pos] = val; yl[pos] = log10(val); return comp(); }
#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...