제출 #1026032

#제출 시각아이디문제언어결과실행 시간메모리
102603212345678Inside information (BOI21_servers)C++17
0 / 100
13 ms1628 KiB
#include <bits/stdc++.h> using namespace std; const int nx=2e5+5; int n, k, l[nx], r[nx], a, b; char t; struct fenwick { int d[nx]; void add(int i, int x) {while (i<nx) d[i]+=x, i+=(i&-i);} int query(int i) { int res=0; while (i>0) res+=d[i], i-=(i&-i); return res; } } f; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>k; for (int i=1; i<=n; i++) l[i]=r[i]=i; f.add(1, 1); for (int i=1; i<n+k; i++) { cin>>t; if (t=='S') { cin>>a>>b; f.add(l[a], 1); f.add(r[b]+1, -1); r[a]=r[b]; l[b]=l[a]; } if (t=='Q') cin>>a>>b, cout<<((l[a]<=b&&b<=r[a])?"yes\n":"no\n"); if (t=='C') cin>>a, cout<<f.query(a)<<'\n'; } } /* 5 5 S 1 2 Q 1 2 Q 1 3 S 3 4 C 3 S 2 3 C 2 Q 5 1 S 4 5 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...