Submission #1042036

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
10420362024-08-02 12:54:29fv3Horses (IOI15_horses)C++14
100 / 100
1049 ms73808 KiB
#include <bits/stdc++.h>
#include "horses.h"
using namespace std;
typedef long long ll;
const ll mod = 1e9 + 7;
int N; vector<ll> X, Y;
int nt = 1;
vector<ll> st;
vector<ll> st_mod;
vector<ll> st_mx;
set<int> notOne;
int mx_index = 0;
ll get_range(int l, int r, int k, int x, int y)
{
if (y < l || x > r) return 1;
if (x >= l && y <= r) return st[k];
int c = (x + y) / 2;
return get_range(l, r, k*2, x, c) * get_range(l, r, k*2|1, c+1, y);
}
ll get_mod_range(int l, int r, int k, int x, int y)
{
if (y < l || x > r) return 1;
if (x >= l && y <= r) return st_mod[k];
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

horses.cpp: In function 'int get_max()':
horses.cpp:94:57: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   94 |    return (cnt * get_max_range(s, N - 1, 1, 0, nt - 1)) % mod;
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp:120:35: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  120 |    int mx_in_range = get_max_range(i, r-1, 1, 0, nt-1);
      |                      ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
horses.cpp:121:7: warning: unused variable 'val' [-Wunused-variable]
  121 |    ll val =  Y[mx_in_range];
      |       ^~~
horses.cpp:135:31: warning: 'mx_1' may be used uninitialized in this function [-Wmaybe-uninitialized]
  135 |   if (mult_range >= last_mult || mult_range * Y[i] >= last_mult)
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...