답안 #339965

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
339965 2020-12-26T12:44:04 Z scales 원숭이와 사과 나무 (IZhO12_apple) C++17
0 / 100
2000 ms 72240 KB
#include <bits/stdc++.h>
/*#ifndef LOCAL_RUN
    #pragma GCC optimize("Ofast")
    #pragma GCC optimize("unroll-loops")
    #pragma GCC optimize("fast-math")
    #pragma GCC target("avx2,tune=native")
#endif*/
using namespace std;
int kol;
map <int,int> sum;
map <int,short> z;
void zam(int x, int y,int m,int l,int r)
{
   // cout<<"x="<<x<<" y="<<y<<" l="<<l<<" r="<<r<<" m="<<m<<endl;
    if(z[m]!=0)
    {
        sum[m]=r-l+1;
        z[m]=0;
        z[2*m+1]=1;
        z[2*m+2]=1;
    }


    if(x<=l && y>=r)
    {
        //cout<<" obrab"<<endl;
        z[m]=1;
        sum[m]=r-l+1;
    }
    else
    {
        if(x>r || y<l)
        {
            return;
        }
        else
        {
            zam(x,y,2*m+1,l,(l+r)/2);
            zam(x,y,2*m+2,(l+r)/2+1,r);
            sum[m]=sum[2*m+1]+sum[2*m+2];
        }
    }
}



void viv(int x, int y,int m,int l,int r)
{
    //cout<<"x="<<x<<" y="<<y<<" l="<<l<<" r="<<r<<" kol="<<kol<<endl;
    if(z[m]!=0)
    {
        //cout<<"aaaaaaa"<<endl;
        sum[m]=r-l+1;
        z[m]=0;
        z[2*m+1]=1;
        z[2*m+2]=1;
    }
    if(x<=l && y>=r)
    {
        kol=kol+sum[m];
        //cout<<"sum[m]="<<sum[m]<<endl;
    }
    else
    {
        if(x>r || y<l)
        {

        }
        else
        {
            viv(x,y,2*m+1,l,(l+r)/2);
            viv(x,y,2*m+2,(l+r)/2+1,r);
            sum[m]=sum[2*m+1]+sum[2*m+2];
        }
    }
}
int main()
{
      ios::sync_with_stdio(false);
      cin.tie(0);
     // freopen("input.txt","r",stdin);
     // freopen("output.txt","w",stdout);
     int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
     cin>>m;
     vector<int> st(31);
     st[0]=1;
     for(i=1;i<=30;i++)
     {
         st[i]=st[i-1]*2;
     }
     kol=0;
     for(i=0;i<m;i++)
     {
         cin>>tip;
         cin>>x;
         cin>>y;
         x=x+kol;
         y=y+kol;
         x--;
         y--;
         l=0;
         r=st[30]-1;
         if(tip==2)
         {
            zam(x,y,0,l,r);
         }
         else
         {
                //cout<<"kol="<<kol<<endl;
             kol=0;
            viv(x,y,0,l,r);
            cout<<kol<<endl;
         }
     }
    return 0;
}

Compilation message

apple.cpp: In function 'int main()':
apple.cpp:83:10: warning: unused variable 't' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |          ^
apple.cpp:83:14: warning: unused variable 'j' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |              ^
apple.cpp:83:16: warning: unused variable 'w' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                ^
apple.cpp:83:18: warning: unused variable 'dno' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                  ^~~
apple.cpp:83:22: warning: unused variable 'mini' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                      ^~~~
apple.cpp:83:31: warning: unused variable 'q' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                               ^
apple.cpp:83:35: warning: unused variable 'k' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                                   ^
apple.cpp:83:37: warning: unused variable 'v' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                                     ^
apple.cpp:83:39: warning: unused variable 'n' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                                       ^
apple.cpp:83:41: warning: unused variable 'x1' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                                         ^~
apple.cpp:83:48: warning: unused variable 'g' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                                                ^
apple.cpp:83:50: warning: unused variable 'maxi' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                                                  ^~~~
apple.cpp:83:55: warning: unused variable 'p' [-Wunused-variable]
   83 |      int t,i,j,w,dno,mini,x,y,q,m,k,v,n,x1,tip,g,maxi,p,l,r;
      |                                                       ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 423 ms 13684 KB Output is correct
5 Correct 534 ms 16512 KB Output is correct
6 Correct 520 ms 15852 KB Output is correct
7 Correct 540 ms 16492 KB Output is correct
8 Execution timed out 2077 ms 72240 KB Time limit exceeded
9 Halted 0 ms 0 KB -