# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
109105 | Garu | Horses (IOI15_horses) | C++14 | 1555 ms | 8192 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef __int128 ll;
const ll MOD = 1e9 + 7;
const int MAXN = 5e5 + 5;
int x[MAXN] , y[MAXN];
int n;
int updateX(int pos,int val)
{
x[pos] = val;
ll ans = 0;
ll profit = 0;
ll horses = 1;
ll mxh = 0;
for(int i = 0 ; i < n ; i++)
{
horses = (horses * x[i]);
horses%=MOD;
mxh = max(mxh , horses);
profit = (mxh * y[i]) % MOD;
ans = max(ans , profit);
}
return (int)ans;
}
int updateY(int pos,int val)
{
y[pos] = val;
ll ans = 0;
ll profit = 0;
ll horses = 1;
ll mxh = 0;
for(int i = 0 ; i < n ; i++)
{
horses = (horses * x[i]);
horses%=MOD;
mxh = max(mxh , horses);
profit = (mxh * y[i]) % MOD;
ans = max(ans , profit);
}
return ans;
}
int init(int N , int X[] , int Y[])
{
n = N;
ll ans = 0;
ll profit = 0;
ll horses = 1;
ll mxh = 0;
for(int i = 0 ; i < n ; i++)
{
x[i] = X[i];
y[i] = Y[i];
}
for(int i = 0 ; i < n ; i++)
{
horses = (horses * x[i]);
horses%=MOD;
mxh = max(mxh , horses);
profit = (mxh * y[i]) % MOD;
ans = max(ans , profit);
}
return ans;
}
/*
int main()
{
int n = 5;
int X[100];
int Y[100];
for(int i = 0 ; i < n ; i++) cin >> X[i];
for(int i = 0 ; i < n ; i++) cin >> Y[i];
cout << init(n,X,Y);
}*/
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |