Submission #729124

#TimeUsernameProblemLanguageResultExecution timeMemory
729124Jean7Inside information (BOI21_servers)C++14
10 / 100
96 ms17000 KiB
#include <bits/stdc++.h> #define int long long using namespace std ; bool cnt[4002][4002] ; int n , k , ans[4002] , in[200005] ; inline void solve () { cin >> n >> k ; if ( n > 4000 ) { int cnt = 0 ; for ( int i = 1 ; i <= n + k - 1 ; i++ ) { char c ; int x , y ; cin >> c ; if ( c == 'S' ) { cnt++ ; cin >> x >> y ; if ( !in[x] ) { in[x] = cnt ; } if ( !in[y] ) { in[y] = cnt ; } } else if ( c == 'Q' ) { cin >> x >> y ; if ( !in[x] || !in[y] ) { cout << "no\n" ; } else { if ( x == 1 ) { cout << "yes\n" ; } else if ( in[x] >= in[y] ) { cout << "yes\n" ; } else { cout << "no\n" ; } } } else { cin >> x ; if ( !in[x] ) { cout << 1 << "\n" ; } else { cout << cnt - in[x] + 2 << "\n" ; } } } return ; } for ( int i = 1 ; i <= n ; i++ ) { cnt[i][i] = 1 ; ans[i]++ ; } for ( int i = 1 ; i <= n + k - 1 ; i++ ) { char c ; int x , y ; cin >> c ; if ( c == 'S' ) { cin >> x >> y ; for ( int i = 1 ; i <= n ; i++ ) { if ( cnt[x][i] || cnt[y][i] ) { ans[i] += 2 - cnt[x][i] - cnt[y][i] ; cnt[x][i] = cnt[y][i] = 1 ; } } } else if ( c == 'Q' ) { cin >> x >> y ; cout << ( cnt[x][y] ? "yes\n" : "no\n" ) ; } else { cin >> x ; cout << ans[x] << "\n" ; } } } signed main () { ios_base::sync_with_stdio(0) ; cin.tie(0) ; cout.tie(0) ; int tc = 1 ; //cin >> tc ; while ( tc-- ) { solve() ; } return 0 ; } /// JJJJJJJ EEEEEEE AAAAA NN NN 7777777 /// JJ EE AA AA NNN NN 77 /// JJ EEEEEE AAAAAAA NN N NN 77 /// JJ JJ EE AA AA NN NNN 77 /// JJJJJ EEEEEEE AA AA NN NN 77
#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...