제출 #292346

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
2923462020-09-06 20:55:30VodkaInTheJar말 (IOI15_horses)C++14
100 / 100
907 ms53496 KiB
#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5 + 3;
const int mod = 1e9 + 7;
int n, x[maxn], y[maxn];
set <int> s;
pair <int, int> tr[maxn * 4];
void merge(int v)
{
tr[v].first = max(tr[v * 2].first, tr[v * 2 + 1].first);
tr[v].second = 1ll * tr[v * 2].second * tr[v * 2 + 1].second % mod;
}
void build(int v, int l, int r)
{
if (l == r)
{
tr[v] = {y[l], x[l]};
return;
}
int mid = (l + r) / 2;
build(v * 2, l, mid);
build(v * 2 + 1, mid + 1, r);
merge(v);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

컴파일 시 표준 에러 (stderr) 메시지

horses.cpp: In function 'void merge(int)':
horses.cpp:15:63: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   15 |  tr[v].second = 1ll * tr[v * 2].second * tr[v * 2 + 1].second % mod;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int get2(int, int, int, int, int)':
horses.cpp:54:81: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   54 |  return 1ll * get2(v * 2, l, mid, ll, rr) * get2(v * 2 + 1, mid + 1, r, ll, rr) % mod;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'int get()':
horses.cpp:146:38: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
  146 |   return 1ll * (ans % mod) * to_mult % 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...