Submission #672324

#TimeUsernameProblemLanguageResultExecution timeMemory
672324Trisanu_DasHorses (IOI15_horses)C++17
17 / 100
25 ms18352 KiB
#include <bits/stdc++.h>
using namespace std;
#define MOD 1000000007
#define ll long long
 
int n, x[500001], y[500001];
 
int solve(){
  ll pref = 1, hrspr = 1, last = 0, ans = 0;
  for(int i = 0; i < n; i++){
    hrspr *= x[i];
    pref = pref * x[i] % MOD;
    if((long double)y[i] * hrspr > last){
      ans = pref * y[i] % MOD; hrspr = 1; last = y[i];
    }
  }
  return ans;
}
 
int init(int N, int X[], int Y[]){
  n = N;
  for(int i = 0; i < N; i++) x[i] = X[i], y[i] = Y[i];
  return solve();
}
 
int updateX(int pos, int val){
  x[pos] = val; solve();
}
int updateY(int pos, int val){
  y[pos] = val; solve();
}

Compilation message (stderr)

horses.cpp: In function 'int solve()':
horses.cpp:17:10: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   17 |   return ans;
      |          ^~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:28:1: warning: no return statement in function returning non-void [-Wreturn-type]
   28 | }
      | ^
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:31:1: warning: no return statement in function returning non-void [-Wreturn-type]
   31 | }
      | ^
#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...