Submission #754898

#TimeUsernameProblemLanguageResultExecution timeMemory
754898APROHACKHorses (IOI15_horses)C++14
17 / 100
1550 ms12260 KiB
#include <bits/stdc++.h>
#include "horses.h"
#define ll long long
#define pb push_back
const int mod = 1e9+7;
using namespace std;
int n;
ll acum[500005];
ll maxV = 0;
vector<int>x, y;
void updateRet(){
	acum[0] = x[0];
	maxV = y[0] * acum[0] % mod;
	for(int i = 1 ; i < n ; i ++){
		acum[i] = acum[i-1] * x[i] % mod;
		maxV = max(maxV, y[i] * acum[i] % mod);
	}
}
int init(int N, int X[], int Y[]) {
	n = N;
	
	for(int i = 0 ; i < N ; i++){
		x.pb(X[i]);
		y.pb(Y[i]);
	}
	updateRet();
	return maxV%mod;
}

int updateX(int pos, int val) {	
	x[pos] = val;
	updateRet();
	return maxV%mod;
}

int updateY(int pos, int val) {
	y[pos] = val;
	updateRet();
	return maxV%mod;
}

Compilation message (stderr)

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:27:13: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   27 |  return maxV%mod;
      |         ~~~~^~~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:33:13: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   33 |  return maxV%mod;
      |         ~~~~^~~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:39:13: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   39 |  return maxV%mod;
      |         ~~~~^~~~
#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...