제출 #139888

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
1398882019-08-01 15:29:48Plurm말 (IOI15_horses)C++11
100 / 100
625 ms71164 KiB
#include "horses.h"
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9+7;
long double seg1[1048576]; // Sum of log2s
long double seg2[1048576]; // log2(Answer)
int seg3[1048576]; // Range product query
int seg4[1048576]; // Real Answer
int lb[1048576];
int rb[1048576];
int rx[500005];
int ry[500005];
void build(int c, int l, int r){
lb[c] = l;
rb[c] = r;
if(l == r){
seg1[c] = log2l(rx[l]);
seg2[c] = log2l(rx[l]) + log2l(ry[l]);
seg3[c] = rx[l];
seg4[c] = (1ll * rx[l] * ry[l]) % MOD;
return;
}
int k = (l + r)/2;
build(2*c,l,k);
build(2*c+1,k+1,r);
seg1[c] = seg1[2*c] + seg1[2*c+1];
seg3[c] = (1ll * seg3[2*c] * seg3[2*c+1]) % MOD;
if(seg2[2*c] > seg2[2*c+1] + seg1[2*c]){
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

horses.cpp: In function 'void build(int, int, int)':
horses.cpp:22:41: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
         seg4[c] = (1ll * rx[l] * ry[l]) % MOD;
                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp:29:47: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
     seg3[c] = (1ll * seg3[2*c] * seg3[2*c+1]) % MOD;
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp:35:51: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
         seg4[c] = (1ll * seg4[2*c+1] * seg3[2*c]) % MOD;
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp: In function 'void update(int, int)':
horses.cpp:44:45: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
         seg4[c] = (1ll * rx[idx] * ry[idx]) % MOD;
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp:51:47: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
     seg3[c] = (1ll * seg3[2*c] * seg3[2*c+1]) % MOD;
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
horses.cpp:57:51: warning: conversion to 'int' from 'long long int' may alter its value [-Wconversion]
         seg4[c] = (1ll * seg4[2*c+1] * seg3[2*c]) % 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...