Submission #658379

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
6583792022-11-13 03:54:35jamezzzHorses (IOI15_horses)C++17
80 / 100
1519 ms217516 KiB
#include "horses.h"
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
typedef long long ll;
typedef pair<int,int> ii;
#define mod 1000000007
struct node{
int s,e,m;ll v=1,lz=1;
node *l,*r;
node(int _s,int _e){
s=_s,e=_e,m=(s+e)>>1;
if(s!=e)l=new node(s,m),r=new node(m+1,e);
}
void ppo(){
v=(v*lz)%mod;
if(s!=e){
l->lz=(lz*l->lz)%mod;
r->lz=(lz*r->lz)%mod;
}
lz=1;
}
void up(int x,int y,ll nv){
if(s==x&&e==y){lz=(lz*nv)%mod;return;}
if(y<=m)l->up(x,y,nv);
else if(x>m)r->up(x,y,nv);
else l->up(x,m,nv),r->up(m+1,y,nv);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

horses.cpp: In member function 'void node3::up(int, ll)':
horses.cpp:91:20: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   91 |   if(s==x&&e==x){v=nv;return;}
      |                    ^~
horses.cpp: In member function 'void node3::print()':
horses.cpp:103:23: warning: format '%lld' expects argument of type 'long long int', but argument 5 has type 'int' [-Wformat=]
  103 |   printf("%d %d %d %lld\n",s,e,m,v);
      |                    ~~~^          ~
      |                       |          |
      |                       |          int
      |                       long long int
      |                    %d
horses.cpp: In function 'int ans()':
horses.cpp:126:10: warning: declaration of 'x' shadows a global declaration [-Wshadow]
  126 |   auto[i,x]=*it;
      |          ^
horses.cpp:117:7: note: shadowed declaration is here
  117 | int n,x[maxn],y[maxn];
      |       ^
horses.cpp:130:6: warning: conversion from 'll' {aka 'long long int'} to 'double' may change value [-Wconversion]
  130 |   if(mx>1e9){
      |      ^~
horses.cpp:131:21: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  131 |    if(i==0)return mx%mod;
      |                     ^
horses.cpp:133:23: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  133 |    return (f*(mx%mod))%mod;
      |                       ^
horses.cpp:137:16: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  137 |  return rt->qry(0,n-1);
      |         ~~~~~~~^~~~~~~
#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...