Submission #778268

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
7782682023-07-10 07:59:09danikoynovHorses (IOI15_horses)C++14
100 / 100
493 ms59176 KiB
#include "horses.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 5e5 + 10;
const ll mod = 1e9 + 7;
ll x[maxn], y[maxn], n;
ll prod_tree[4 * maxn];
void build_prod_tree(int root, int left, int right)
{
if (left == right)
{
prod_tree[root] = x[left];
return;
}
int mid = (left + right) / 2;
build_prod_tree(root * 2, left, mid);
build_prod_tree(root * 2 + 1, mid + 1, right);
prod_tree[root] = (prod_tree[root * 2] * prod_tree[root * 2 + 1]) % mod;
}
void update_prod(int root, int left, int right, int pos)
{
if (left == right)
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

horses.cpp: In function 'll action()':
horses.cpp:117:38: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  117 |         ll cur = breed_query(1, 0, n - 1, *it, n - 1);
      |                                    ~~^~~
horses.cpp:117:50: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  117 |         ll cur = breed_query(1, 0, n - 1, *it, n - 1);
      |                                                ~~^~~
horses.cpp:118:13: warning: conversion from 'll' {aka 'long long int'} to 'double' may change value [-Wconversion]
  118 |         if (div > 1e9)
      |             ^~~
horses.cpp:148:33: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  148 |     ll ans = prod_query(1, 0, n - 1, 0, pos);
      |                               ~~^~~
horses.cpp:148:41: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  148 |     ll ans = prod_query(1, 0, n - 1, 0, pos);
      |                                         ^~~
horses.cpp:151:38: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  151 |     ans = (ans * breed_query(1, 0, n - 1, pos, n - 1)) % mod;
      |                                    ~~^~~
horses.cpp:151:43: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  151 |     ans = (ans * breed_query(1, 0, n - 1, pos, n - 1)) % mod;
      |                                           ^~~
horses.cpp:151:50: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  151 |     ans = (ans * breed_query(1, 0, n - 1, pos, n - 1)) % mod;
      |                                                ~~^~~
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:164:29: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  164 |     build_prod_tree(1, 0, n - 1);
      |                           ~~^~~
horses.cpp:165:30: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  165 |     build_breed_tree(1, 0, n - 1);
      |                            ~~^~~
horses.cpp:166:18: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  166 |     return action();
      |            ~~~~~~^~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:176:25: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  176 |     update_prod(1, 0, n - 1, pos);
      |                       ~~^~~
horses.cpp:177:18: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  177 |     return action();
      |            ~~~~~~^~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:183:26: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  183 |     update_breed(1, 0, n - 1, pos);
      |                        ~~^~~
horses.cpp:184:18: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  184 |     return action();
      |            ~~~~~~^~
#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...