Submission #772873

#TimeUsernameProblemLanguageResultExecution timeMemory
772873ZHIRDILBILDIZInside information (BOI21_servers)C++14
5 / 100
2191 ms379968 KiB
#include<bits/stdc++.h> using namespace std ; struct query { char type ; int a, b ; }; int n, k ; vector<query> v ; signed main() { ios_base::sync_with_stdio( 0 ) ; cin.tie( 0 ) ; cout.tie( 0 ) ; cin >> n >> k ; for(int i = 1 ; i < n + k ; i++) { query q ; cin >> q.type >> q.a ; if(q.type != 'C')cin >> q.b ; v.push_back(q) ; } if(n <= 4000) { set<int> s[n + 1] ; int kol[n + 1] = {} ; for(int i = 1 ; i <= n ; i++) { s[i].insert(i) ; kol[i] = 1 ; } for(query q : v) { if(q.type == 'S') { set<int> all ; for(int i : s[q.a]) all.insert(i) ; for(int i : s[q.b]) all.insert(i) ; for(int i : all) if(!s[q.a].count(i) || !s[q.b].count(i))kol[i]++ ; s[q.a] = all ; s[q.b] = all ; } if(q.type == 'Q') { if(s[q.a].count(q.b))cout << "yes\n" ; else cout << "no\n" ; } if(q.type == 'C') cout << kol[q.a] << '\n' ; } return 0 ; } return 0 ; }
#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...