# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
903384 | 2024-01-11T07:27:00 Z | simona1230 | Inside information (BOI21_servers) | C++17 | 261 ms | 928 KB |
#include <bits/stdc++.h> using namespace std; int n,k; int in[4001][4001]; void slow() { for(int i=1;i<=n;i++) in[i][i]=1; for(int i=1;i<=n+k-1;i++) { char c; cin>>c; int x,y; if(c=='S') { cin>>x>>y; for(int j=1;j<=n;j++) { in[x][j]=in[y][j]=max(in[x][j],in[y][j]); } } if(c=='C') { cin>>x; int cnt=0; for(int j=1;j<=n;j++) cnt+=in[j][x]; cout<<cnt<<endl; } if(c=='Q') { cin>>x>>y; if(in[x][y])cout<<"yes"<<endl; else cout<<"no"<<endl; } } } int t[120001]; void subt2() { t[1]=1; int sec=2; for(int i=1;i<=n+k-1;i++) { char c; cin>>c; if(c=='S') { int x,y; cin>>x>>y; t[max(x,y)]=sec++; } if(c=='Q') { int x,y; cin>>x>>y; if(t[y]&&t[y]<=t[x]||x==1&&t[y]||y==1&&t[x]||x==y)cout<<"yes"<<endl; else cout<<"no"<<endl; } if(c=='C') { int x; cin>>x; if(t[x]==0)cout<<1<<endl; else if(x==1)cout<<sec-1<<endl; else cout<<sec-t[x]+1<<endl; } } } int inc[120001],de[120001]; int find_inc(int ver) { cout<<ver<<endl; if(ver==inc[ver])return ver; return inc[ver]=find_inc(inc[ver]); } int find_de(int ver) { if(ver==de[ver])return ver; return de[ver]=find_de(de[ver]); } void subt3() { int sec=1; for(int i=1;i<=n+k-1;i++) { int x,y; char c; cin>>c>>x; if(c=='S') { cin>>y; if(y<x)swap(x,y); t[x]=sec++; inc[x]=de[x]=x; if(t[x-1])inc[x-1]=x; if(t[x+1])de[x+1]=x; } if(c=='Q') { cin>>y; int ver=x; if(y>x) { if(!t[ver]) { cout<<"no"<<endl; continue; } ver=find_inc(ver); if(ver+1>=y)cout<<"yes"<<endl; else cout<<"no"<<endl; } else if(x>y) { if(!t[ver-1]) { cout<<"no"<<endl; continue; } ver=find_de(ver-1); if(ver<=y)cout<<"yes"<<endl; else cout<<"no"<<endl; } else cout<<"yes"<<endl; } if(c=='C') { int cnt=1; /*for(int j=1;j<n;j++) cout<<inc[j]<<" "; cout<<endl;*/ if(x!=n&&t[x]) { //cout<<"! "<<x<<endl; cnt+=find_inc(x)-x+1; } if(x!=1&&t[x-1]) { //cout<<"!! "<<x-1<<endl; cnt+=x-find_de(x-1); } cout<<cnt<<endl; } } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n>>k; /*if(n<=4000)slow(); else*/ subt3(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 210 ms | 812 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 210 ms | 812 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 170 ms | 928 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 170 ms | 928 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 203 ms | 808 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 203 ms | 808 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 204 ms | 872 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 204 ms | 872 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 261 ms | 788 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 261 ms | 788 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 243 ms | 852 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 243 ms | 852 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |