Submission #676147

#TimeUsernameProblemLanguageResultExecution timeMemory
676147Trisanu_DasDeda (COCI17_deda)C++17
0 / 140
67 ms6964 KiB
#include <bits/stdc++.h> using namespace std; const int mxN=2e5; int n, q, a, b, segtree[1<<19]; char op; void update(int s, int x, int i=1, int l=0, int r=n-1) { segtree[i]=min(x, segtree[i]); if(l==r) return; int m=(l+r)/2; if(s<=m) update(s, x, 2*i, l, m); else update(s, x, 2*i+1, m+1, r); } int query(int s, int x, int i=1, int l=0, int r=n-1) { if(segtree[i]>x) return -2; if(l==r) return l; int m=(l+r)/2, e = -2; if(s<=m) e = query(s, x, 2*i, l, m); if(r==-2) e = query(s, x, 2*i+1, m+1, r); return r; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> q; memset(segtree, 0x3f, sizeof(segtree)); while(q--) { cin >> op >> a >> b, --b; if(op=='M') update(b, a); else cout << query(b, a)+1 << "\n"; } }

Compilation message (stderr)

deda.cpp: In function 'int query(int, int, int, int, int)':
deda.cpp:19:17: warning: variable 'e' set but not used [-Wunused-but-set-variable]
   19 |  int m=(l+r)/2, e = -2;
      |                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...