Submission #718541

#TimeUsernameProblemLanguageResultExecution timeMemory
718541mseebacherHorses (IOI15_horses)C++17
0 / 100
1589 ms8144 KiB
#include "horses.h" #include <stdio.h> #include <stdlib.h> #include <iostream> #include <string> #include <vector> #include <cmath> #include <cstring> #include <algorithm> #include <iomanip> #include <map> #include <set> #include <stack> #include <queue> #include <functional> #include <iostream> #include <fstream> #include <string> using namespace std; vector<int> x; vector<int> y; int n; const int MOD = 1e9+7; int calc(){ double horses = log(1); int horses_mod = 1; double p_log = 0; int p_mod = 0; for(int i = 0;i<n;i++){ horses += log(x[i]); horses_mod = horses_mod * x[i] %MOD; if(horses + log(y[i]) > p_log){ p_log = horses+log(y[i]); p_mod = horses_mod*y[i] %MOD; } } return p_mod%MOD; } int init(int N, int X[], int Y[]) { n = N; x.assign(N,0); y.assign(N,0); 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...