Submission #445972

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4459722021-07-20 10:10:43apostoldaniel854Horses (IOI15_horses)C++14
0 / 100
429 ms53988 KiB
#include "horses.h"
#include <bits/stdc++.h>
using namespace std;
struct RangeSeg {
int startRange;
int endRange;
int bestY;
bool operator < (RangeSeg const &other) const {
return startRange < other.startRange;
}
};
set <RangeSeg> Intervals;
const int MOD = 1e9 + 7, MAX_N = 5e5;
int N;
int X[1 + MAX_N];
int Y[1 + MAX_N];
struct Bit {
vector <int> aib;
int n;
int lsb (int x) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

horses.cpp: In member function 'void Bit::upd(int, int)':
horses.cpp:40:47: warning: conversion from 'long long int' to '__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type' {aka 'int'} may change value [-Wconversion]
   40 |             aib[pos] = (1ll * aib[pos] * val) % MOD;
      |                        ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In member function 'int Bit::qry(int)':
horses.cpp:47:42: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   47 |             ans = (1ll * ans * aib[pos]) % MOD;
      |                   ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int getAns()':
horses.cpp:116:65: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
  116 |             bestMOD = 1ll * aibMOD.qry (x.startRange) * x.bestY % MOD;
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int lgput(int, int)':
horses.cpp:135:33: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
  135 |             ans = 1ll * ans * a % MOD;
      |                   ~~~~~~~~~~~~~~^~~~~
horses.cpp:136:25: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
  136 |         a = 1ll * a * a % MOD;
      |             ~~~~~~~~~~~~^~~~~
#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...