Submission #876470

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
8764702023-11-21 19:22:37TahirAliyevHorses (IOI15_horses)C++17
100 / 100
787 ms36492 KiB
#include "horses.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int, int>
const int MAX = 5e5 + 5, MOD = 1e9 + 7;
int n;
pii tree[4 * MAX];
int tree2[4 * MAX];
int x[MAX];
int y[MAX];
pii comb(pii a, pii b){
pii c = {0, 0};
if(a.first) c.first = 1;
if(b.first) c.first = 1;
if(1ll * a.second * b.second > 1e9) c.first = 1;
c.second = (1ll * a.second * b.second) % MOD;
return c;
}
void build(int node, int l, int r){
if(l == r){
tree[node] = {0, x[l]};
return;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

horses.cpp: In function 'std::pair<int, int> comb(std::pair<int, int>, std::pair<int, int>)':
horses.cpp:22:44: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   22 |     c.second = (1ll * a.second * b.second) % MOD;
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:99:58: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   99 |     return 1ll * mult(1, 0, n - 1, 0, id).second * y[id] % MOD;
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:107:58: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
  107 |     return 1ll * mult(1, 0, n - 1, 0, id).second * y[id] % MOD;
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:114:58: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
  114 |     return 1ll * mult(1, 0, n - 1, 0, id).second * y[id] % 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...