Submission #342773

#TimeUsernameProblemLanguageResultExecution timeMemory
342773monus1042Horses (IOI15_horses)C++17
17 / 100
1560 ms12348 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)x[i]); if (acc * (ld)y[i] > best) best = acc * (ld)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...