Submission #592311

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
5923112022-07-08 22:41:34stevancvHorses (IOI15_horses)C++14
100 / 100
382 ms76804 KiB
#include <bits/stdc++.h>
#include "horses.h"
#define ll long long
#define ld long double
#define sp ' '
#define en '\n'
#define smin(a, b) a = min(a, b)
#define smax(a, b) a = max(a, b)
using namespace std;
const int N = 5e5 + 2;
const int mod = 1e9 + 7;
int Mul(int a, int b) {
ll c = a; c *= b; c %= mod;
return c;
}
int Exp(int a, int b) {
int ans = 1;
while (b > 0) {
if (b & 1) ans = Mul(ans, a);
a = Mul(a, a);
b >>= 1;
}
return ans;
}
int Div(int a, int b) {
return Mul(a, Exp(b, mod - 2));
}
struct Node {
ld mx, lzymx;
int f, lzyf;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

horses.cpp: In function 'int Mul(int, int)':
horses.cpp:14:12: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   14 |     return c;
      |            ^
horses.cpp: In function 'void Build(int, int, int)':
horses.cpp:44:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   44 |     int mid = l + r >> 1;
      |               ~~^~~
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:62:14: warning: declaration of 'N' shadows a global declaration [-Wshadow]
   62 | int init(int N, int X[], int Y[]) {
      |          ~~~~^
horses.cpp:10:11: note: shadowed declaration is here
   10 | const int N = 5e5 + 2;
      |           ^
horses.cpp:69:29: warning: conversion from 'long double' to 'double' may change value [-Wfloat-conversion]
   69 |         sum[i] = sum[i - 1] + log10l(x[i]);
      |                  ~~~~~~~~~~~^~~~~~~~~~~~~~
horses.cpp: In function 'void Update(int, int, int, int, int, long double, int)':
horses.cpp:75:63: warning: declaration of 'y' shadows a global declaration [-Wshadow]
   75 | void Update(int node, int l, int r, int ql, int qr, ld x, int y) {
      |                                                           ~~~~^
horses.cpp:32:14: note: shadowed declaration is here
   32 | int n, x[N], y[N], prod[N];
      |              ^
horses.cpp:75:56: warning: declaration of 'x' shadows a global declaration [-Wshadow]
   75 | void Update(int node, int l, int r, int ql, int qr, ld x, int y) {
      |                                                        ^
horses.cpp:32:8: note: shadowed declaration is here
   32 | int n, x[N], y[N], prod[N];
      |        ^
horses.cpp:84:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   84 |     int mid = l + r >> 1;
      |               ~~^~~
#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...