Submission #772946

#TimeUsernameProblemLanguageResultExecution timeMemory
772946ZHIRDILBILDIZInside information (BOI21_servers)C++14
5 / 100
2241 ms378804 KiB
#include<bits/stdc++.h> using namespace std ; struct query { char type ; int a, b ; }; bool flag1 = 1 ; 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 ; if(q.type == 'S' && q.a != 1 && q.b != 1)flag1 = 0 ; 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 ; } if(flag1) { int now = 1, ind[n + 1] = {} ; for(query q : v) { if(q.type == 'S') { if(!ind[q.a]) ind[q.a] = now ; if(!ind[q.b]) ind[q.b] = now ; now++ ; } if(q.type == 'Q') { if(ind[q.b] <= ind[q.a])cout << "yes\n" ; else cout << "no\n" ; } if(q.type == 'C') cout << now - ind[q.a] + 1 << '\n' ; } } return 0 ; } //6 9 //S 1 2 //S 1 3 //S 1 4 //Q 5 1 //S 1 5 //S 1 6 //Q 5 1 //Q 1 5 //C 1 //C 2 //C 3 //C 4 //C 5 //C 6
#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...