Submission #338834

#TimeUsernameProblemLanguageResultExecution timeMemory
338834tengiz05Monkey and Apple-trees (IZhO12_apple)C++17
0 / 100
698 ms262148 KiB
#include <bits/stdc++.h> using namespace std; //#define int long long #define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL); #define all(x) (x).begin(), (x).end() #define pb push_back #define pii pair<int, int> #define ff first #define ss second #define PI acos(-1) #define ld long double template<class T> bool ckmin(T& a, const T& b) {return a>b? a=b, true:false;} template<class T> bool ckmax(T& a, const T& b) {return a<b? a=b, true:false;} const int mod = 1e9+7, N = 2e5+5; int msb(int val){return sizeof(int)*8-__builtin_clzll(val)-1;} int a[N], n, m, k; struct node{ int ans, pr; array<node*, 2> kids; node(){ kids = {NULL, NULL}; ans = pr = 0; } }; void prop(node *root, int len){ if(root->pr){ for(auto to : root->kids)if(to != NULL)to->pr |= root->pr; root->ans = len; } } void update(node *root, int l, int r, int L, int R){ int mid = (L+R)/2; if(root->kids[0] == NULL)root->kids[0] = new node(); if(root->kids[1] == NULL)root->kids[1] = new node(); prop(root, R-L+1); if(L > r || R < l)return; if(L >= l && R <= r){ root->pr = 1; // cout << root->l << ' ' << root->r << '\n'; prop(root, R-L+1); return; }update(root->kids[0], l, r, L, mid); update(root->kids[1], l, r, mid+1, R); root->ans = 0; for(auto to : root->kids)root->ans += to->ans; } int query(node *root, int l, int r, int L, int R){ int mid = (L+R)/2; if(root->kids[0] == NULL)root->kids[0] = new node(); if(root->kids[1] == NULL)root->kids[1] = new node(); prop(root,R-L+1); if(L > r || R < l)return 0; if(L >= l && R <= r){ // cout << root->l << ' ' << root->r << '\n'; return root->ans; }int res = 0; res += query(root->kids[0], l, r, L, mid); res += query(root->kids[1], l, r, mid+1, R); return res; } void solve(int test_case){ int i, j, q; cin >> q; int lastans = 0; node *root = new node(); while(q--){ int type; cin >> type; int l, r; cin >> l >> r; if(type == 1){ // query int res = query(root, l+lastans, r+lastans, 1, mod); cout << res << '\n'; lastans = res; }else { // update update(root, l+lastans, r+lastans, 1, mod); } } return; } signed main(){ FASTIO; #define MULTITEST 0 #if MULTITEST int _T; cin >> _T; for(int T_CASE = 1; T_CASE <= _T; T_CASE++) solve(T_CASE); #else solve(1); #endif return 0; }

Compilation message (stderr)

apple.cpp: In function 'void solve(int)':
apple.cpp:62:6: warning: unused variable 'i' [-Wunused-variable]
   62 |  int i, j, q;
      |      ^
apple.cpp:62:9: warning: unused variable 'j' [-Wunused-variable]
   62 |  int i, j, q;
      |         ^
#Verdict Execution timeMemoryGrader output
Fetching results...