Submission #830377

#TimeUsernameProblemLanguageResultExecution timeMemory
830377mindiyakHorses (IOI15_horses)C++14
34 / 100
1588 ms14284 KiB
#include "horses.h" #include <vector> #include <iostream> using namespace std; typedef long long ll; vector<ll> x; vector<ll> y; int n; int M = 1e9+7; ll multi(ll a,ll b){ return ((a%M)*(b%M))%M; } int calc(){ int MX_pos = 0; ll cur = 1; for(int i=1;i<n;i++){ ll multiply = cur*x[i]; if(multiply*y[i]>=y[MX_pos]){ MX_pos = i; cur=1; }else{ cur=multiply; } } ll MX = 1; for(int i=0;i<MX_pos+1;i++){ MX = multi(MX,x[i]); } int ans = multi(MX,y[MX_pos]); return ans; } int init(int N, int X[], int Y[]) { n = N; for(int i=0;i<N;i++)x.push_back(X[i]); for(int i=0;i<N;i++)y.push_back(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(); }

Compilation message (stderr)

horses.cpp: In function 'int calc()':
horses.cpp:35:17: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   35 |  int ans = multi(MX,y[MX_pos]);
      |            ~~~~~^~~~~~~~~~~~~~
#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...