Submission #342781

#TimeUsernameProblemLanguageResultExecution timeMemory
342781monus1042Horses (IOI15_horses)C++17
34 / 100
1585 ms16200 KiB
#include "horses.h" #include <bits/stdc++.h> using namespace std; typedef unsigned long long ll; typedef pair<int,int> ii; typedef long double ld; int n; vector<ll> x, y; const ll MOD = 1000000007; int solve(){ ld acc = 1.0, best = 0.0; int pos = 0; for (int i=0; i<n; i++){ acc = (acc + (ld)log10(x[i])); if (acc + (ld)log10(y[i]) > best) best = acc + (ld)log10(y[i]), pos = i; } ll answer = 1LL; for (int i=0; i<=pos; i++) answer = (answer * x[i]) % MOD; answer = (answer * y[pos]) % MOD; int ret = answer; return ret; } int init(int N, int X[], int Y[]) { n = N; for (int i=0; i<n; i++) x.push_back(X[i]), y.push_back(Y[i]); return solve(); } int updateX(int pos, int val) { x[pos] = val; return solve(); } int updateY(int pos, int val) { y[pos] = val; return solve(); }

Compilation message (stderr)

horses.cpp: In function 'int solve()':
horses.cpp:23:12: warning: conversion from 'll' {aka 'long long unsigned int'} to 'int' may change value [-Wconversion]
   23 |  int ret = answer;
      |            ^~~~~~
#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...