Submission #109105

#TimeUsernameProblemLanguageResultExecution timeMemory
109105GaruHorses (IOI15_horses)C++14
17 / 100
1555 ms8192 KiB
#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)

horses.cpp: In function 'int updateY(int, int)':
horses.cpp:49:8: warning: conversion to 'int' from 'll {aka __int128}' may alter its value [-Wconversion]
 return ans;
        ^~~
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:74:8: warning: conversion to 'int' from 'll {aka __int128}' may alter its value [-Wconversion]
 return ans;
        ^~~
#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...