Submission #284494

#TimeUsernameProblemLanguageResultExecution timeMemory
284494Shafin666Horses (IOI15_horses)C++14
34 / 100
1587 ms19960 KiB
#include "horses.h" #include <bits/stdc++.h> #define pb push_back #define pii pair<ll, ll> #define nyan "(=^・ω・^=)" #define read_input freopen("in.txt","r", stdin) #define print_output freopen("out.txt","w", stdout) typedef long long ll; typedef long double ld; using namespace std; const int maxn = 5e5+10, mod = 1e9+7; ll x[maxn], y[maxn], n; double lgx[maxn]; 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]; lgx[0] = log(x[0]); for(int i = 1; i < N; i++) lgx[i] = lgx[i-1] + log(x[i]); double mx = -1; int ans = 0; for(int i = 0; i < N; i++) { double now = lgx[i] + log(y[i]); if(now >= mx) { mx = now; ans = i; } } ll ret = 1; for(int i = 0; i <= ans; i++) { ret = (ret * x[i]) % mod; } ret = (ret * y[ans]) % mod; return ret; } int updateX(int pos, int val) { x[pos] = val; lgx[0] = log(x[0]); for(int i = 1; i < n; i++) lgx[i] = lgx[i-1] + log(x[i]); double mx = -1; int ans = 0; for(int i = 0; i < n; i++) { double now = lgx[i] + log(y[i]); if(now >= mx) { mx = now; ans = i; } } ll ret = 1; for(int i = 0; i <= ans; i++) { ret = (ret * x[i]) % mod; } ret = (ret * y[ans]) % mod; return ret; } int updateY(int pos, int val) { y[pos] = val; lgx[0] = log(x[0]); for(int i = 1; i < n; i++) lgx[i] = lgx[i-1] + log(x[i]); double mx = -1; int ans = 0; for(int i = 0; i < n; i++) { double now = lgx[i] + log(y[i]); if(now >= mx) { mx = now; ans = i; } } ll ret = 1; for(int i = 0; i <= ans; i++) { ret = (ret * x[i]) % mod; } ret = (ret * y[ans]) % mod; return ret; }

Compilation message (stderr)

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:36:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   36 |  return ret;
      |         ^~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:58:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   58 |  return ret;
      |         ^~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:80:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   80 |  return ret;
      |         ^~~
#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...