답안 #919216

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
919216 2024-01-31T13:05:51 Z ibrahim001 원숭이와 사과 나무 (IZhO12_apple) C++14
0 / 100
607 ms 255316 KB
#include "bits/stdc++.h"
#define intt long long
using namespace std;
const intt inf = 1e18;
const int sz = 1e5+5;
int st[sz*80], lz[sz*80], L[sz*80], R[sz*80];
int last=1;
void check(int in){
    if ( !L[in] )   L[in] = ++last;
    if ( !R[in] )   R[in] = ++last;
}
void relax(int l, int r, int in){
    if ( !lz[in] )  return;
    st[in] = (r-l+1);
    if ( l == r ){
        lz[in]=0;
        return;
    }
    check(in);
    lz[L[in]] += lz[in];
    lz[R[in]] += lz[in];
    lz[in]=0;
}
void update(int a, int b, int l, int r, int in){
    relax(l, r, in);
    if ( l > b or r < a )   return;
    if ( a <= l and r <= b ){
        lz[in]++;
        relax(l, r, in);
        return;
    }
    check(in);
    int mid = (l+r)>>1;
    update(a, b, l, mid, L[in]);
    update(a, b, mid+1, r, R[in]);
    st[in] = st[L[in]]+st[R[in]];
}
int getans(int a, int b, int l, int r, int in){
    relax(l, r, in);
    if ( l > b or r < a )   return 0;
    if ( a <= l and r <= b )    return st[in];
    check(in);
    int mid = (l+r)>>1;
    return getans(a, b, l, mid, L[in])+getans(a, b, mid+1, r, R[in]);
}
int i,j;
signed main(){
    int n=1e9, q;
    cin >> q;
    int c = 0;
    while(q--){
        int t;
        cin >> t;
        int x, y;
        cin >> x >> y;
        x += c;
        y += c;
        if ( t == 1 ){
            int res = getans(x , y, 1, n, 1);
            c = res;
            cout << res << endl;
        }
        else{
            update(x, y, 1, n, 1);
        }
    }
}


# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2548 KB Output is correct
2 Correct 1 ms 2392 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 23 ms 5204 KB Output is correct
5 Correct 30 ms 6984 KB Output is correct
6 Correct 24 ms 6736 KB Output is correct
7 Correct 25 ms 7000 KB Output is correct
8 Correct 168 ms 27328 KB Output is correct
9 Correct 359 ms 46160 KB Output is correct
10 Correct 373 ms 52892 KB Output is correct
11 Correct 362 ms 55552 KB Output is correct
12 Correct 345 ms 60468 KB Output is correct
13 Correct 327 ms 69532 KB Output is correct
14 Correct 332 ms 73336 KB Output is correct
15 Runtime error 607 ms 255316 KB Execution killed with signal 11
16 Halted 0 ms 0 KB -