제출 #1008945

#제출 시각아이디문제언어결과실행 시간메모리
1008945krit3379원숭이와 사과 나무 (IZhO12_apple)C++14
100 / 100
133 ms77140 KiB
#include<bits/stdc++.h> using namespace std; class node{ public: int sum; node *tl,*tr; node():sum(0),tl(0),tr(0){} void upd(){ sum=max(sum,(tl?tl->sum:0)+(tr?tr->sum:0)); } void update(int l,int r,int ll,int rr){ if(l>rr||ll>r)return ; if(ll<=l&&r<=rr){ sum=r-l+1; return ; } int mid=(l+r)/2; if(!tl)tl=new node(); if(!tr)tr=new node(); tl->update(l,mid,ll,rr); tr->update(mid+1,r,ll,rr); upd(); } int sol(int l,int r,int ll,int rr){ if(l>rr||ll>r)return 0; if(ll<=l&&r<=rr)return sum; if(sum==r-l+1)return min(r,rr)-max(l,ll)+1; int mid=(l+r)/2; return (tl?tl->sol(l,mid,ll,rr):0)+(tr?tr->sol(mid+1,r,ll,rr):0); } }; using pnode = node*; pnode root; int c; int main(){ int q,op,l,r; scanf("%d",&q); root = new node(); while(q--){ scanf("%d %d %d",&op,&l,&r); if(op==1){ printf("%d\n",c=root->sol(1,1e9,l+c,r+c)); } else{ root->update(1,1e9,l+c,r+c); } } return 0; }

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

apple.cpp: In function 'int main()':
apple.cpp:40:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |     scanf("%d",&q);
      |     ~~~~~^~~~~~~~~
apple.cpp:43:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 |         scanf("%d %d %d",&op,&l,&r);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...