Submission #139911

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1399112019-08-01 16:06:13bogdan10bosHorses (IOI15_horses)C++14
100 / 100
915 ms49944 KiB
/// ... :(
#include <bits/stdc++.h>
#include "horses.h"
using namespace std;
const int NMAX = 5e5 + 5;
const int mod = 1e9 + 7;
int N, X[NMAX], Y[NMAX];
namespace SegmentTree
{
int N;
vector<double> lg, lgadd;
vector<int> aint, aintadd;
int sti, dri;
double lgval;
int val;
void B(int nod, int st, int dr)
{
lg[nod] = lgadd[nod] = 0;
aint[nod] = aintadd[nod] = 1;
if(st == dr) return;
int mij = st + (dr - st) / 2;
B(nod * 2, st, mij);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

horses.cpp: In function 'void SegmentTree::lazy(int)':
horses.cpp:46:16: warning: declaration of 'lgval' shadows a global declaration [-Wshadow]
         double lgval = lgadd[nod];
                ^~~~~
horses.cpp:19:12: note: shadowed declaration is here
     double lgval;
            ^~~~~
horses.cpp:47:14: warning: declaration of 'val' shadows a global declaration [-Wshadow]
         int  val = aintadd[nod];
              ^~~
horses.cpp:20:9: note: shadowed declaration is here
     int val;
         ^~~
horses.cpp:54:65: warning: conversion to '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}' from 'long long int' may alter its value [-Wconversion]
             aint[nod * 2 + i] = (1LL * aint[nod * 2 + i] * val) % mod;
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp:55:71: warning: conversion to '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}' from 'long long int' may alter its value [-Wconversion]
             aintadd[nod * 2 + i] = (1LL * aintadd[nod * 2 + i] * val) % mod;
                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'void SegmentTree::U(int, int, int)':
horses.cpp:65:49: warning: conversion to '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}' from 'long long int' may alter its value [-Wconversion]
             aint[nod] = (1LL * aint[nod] * val) % mod;
                         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp:66:55: warning: conversion to '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type {aka int}' from 'long long int' may alter its value [-Wconversion]
             aintadd[nod] = (1LL * aintadd[nod] * val) % mod;
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int power(int, int)':
horses.cpp:101:36: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
     int ans = power( (1LL * x * x) % mod, y >> 1 );
                      ~~~~~~~~~~~~~~^~~~~
horses.cpp:102:39: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
     if(y & 1)   ans = (1LL * ans * x) % 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...