Submission #1157276

#TimeUsernameProblemLanguageResultExecution timeMemory
1157276the_ZHEREvent Hopping (BOI22_events)C++20
10 / 100
1604 ms253084 KiB
#include <bits/stdc++.h> #define boost ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define int long long using namespace std; const int inf=1e17; const int N=1e5+5; const int N1=1e5+5; const int N2=5e6+6; const int mod=1e9+7; const int k1=447; struct edge{ int d,in; }; struct edge1{ int l,r; }; vector<pair<int,int> >v1; vector<int>v[N]; int dp[5005][5005]; signed main(){ boost; int n,q; cin>>n>>q; for(int i=1;i<=n;i++){ int l,r; cin>>l>>r; v1.push_back({l,r}); } for(int i=0;i<v1.size();i++){ for(int j=0;j<v1.size();j++){ if(j==i){ continue; } if(v1[i].second>v1[j].second||v1[i].second<v1[j].first){ continue; } v[i+1].push_back(j+1); } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ dp[i][j]=inf; } } for(int i=1;i<=n;i++){ queue<int>q; q.push(i); dp[i][i]=0; while(q.size()>0){ int x=q.front(); q.pop(); for(int j=0;j<v[x].size();j++){ if(dp[i][v[x][j]]==inf){ dp[i][v[x][j]]=dp[i][x]+1; q.push(v[x][j]); } } } } for(int i=1;i<=q;i++){ int a,b; cin>>a>>b; if(dp[a][b]==inf){ cout<<"impossible\n"; }else{ cout<<dp[a][b]<<"\n"; } } }
#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...