# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1004800 | 2024-06-21T16:03:21 Z | magikarp23 | Horses (IOI15_horses) | C++17 | 1500 ms | 12124 KB |
#include <bits/stdc++.h> #include "horses.h" using namespace std; const int MAX_N = 500000 + 1; long long MOD = 1000000000 + 7; int X_store[MAX_N]; int Y_store[MAX_N]; int N_store; // int calc_max_profit() { // int max_profit = 0; // int num_horses = 1; // for (int i=0; i<N_store; i++) { // num_horses *= X_store[i]; // max_profit = max(max_profit, num_horses * Y_store[i]); // } // return max_profit % MOD; // } long long calc_max_profit() { vector<long long> dp(N_store + 1, 0); long long horses = 1; for (int i = 0; i < N_store; i++) { horses = (horses * X_store[i]) % MOD; long long sell_profit = (horses * Y_store[i]) % MOD; dp[i + 1] = max((dp[i] + sell_profit) % MOD, (horses * dp[i]) % MOD); } return dp[N_store]; } int init(int N, int X[], int Y[]) { N_store = N; for (int i=0; i<N; i++) { X_store[i] = X[i]; Y_store[i] = Y[i]; } return calc_max_profit(); } int updateX(int pos, int val) { X_store[pos] = val; return calc_max_profit(); } int updateY(int pos, int val) { Y_store[pos] = val; return calc_max_profit(); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2392 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Incorrect | 0 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1560 ms | 12124 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2396 KB | Output is correct |
2 | Incorrect | 0 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2396 KB | Output is correct |
2 | Incorrect | 0 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |