Submission #714323

#TimeUsernameProblemLanguageResultExecution timeMemory
714323vjudge1Event Hopping (BOI22_events)C++17
10 / 100
1583 ms36352 KiB
#include <iostream> #include <vector> #include <queue> using namespace std; int n, q; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> q; vector<vector<int>>g(n + 1); pair<int, int>events[n + 1]; for(int i = 1;i <= n;++i){ cin >> events[i].first >> events[i].second; } for(int i = 1;i <= n;++i){ for(int j = 1;j <= n;++j){ if(i == j)continue; if(events[i].second >= events[j].first && events[i].second <= events[j].second){ g[i].push_back(j); } } } // for(int i = 1;i <= n;++i){ // cout << i << ": "; // for(int j : g[i]){ // cout << j << " "; // } // cout << '\n'; // } vector<vector<int>>dists(n + 1); bool check[n + 1]; for(int i = 1;i <= n;++i)check[i] = 0; for(int i = 0;i < q;++i){ int u, v; cin >> u >> v; if(dists[u].size() == n + 1 && dists[u][v] != -1)cout << dists[u][v] << '\n'; else if(dists[u].size() == n + 1 && dists[u][v] == -1 && check[u])cout << "impossible\n"; else{ vector<int>tempo(n + 1, -1); queue<int>que; que.push(u); check[u] = 1; tempo[u] = 0; while(!que.empty()){ int cur = que.front(); que.pop(); for(int vv : g[cur]){ if(tempo[vv] == -1){ tempo[vv] = tempo[cur] + 1; que.push(vv); } } } if(tempo[v] == -1)cout << "impossible\n"; else cout << tempo[v] << '\n'; swap(tempo, dists[u]); } } }

Compilation message (stderr)

events.cpp: In function 'int main()':
events.cpp:37:28: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   37 |         if(dists[u].size() == n + 1 && dists[u][v] != -1)cout << dists[u][v] << '\n';
      |            ~~~~~~~~~~~~~~~~^~~~~~~~
events.cpp:38:33: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |         else if(dists[u].size() == n + 1 && dists[u][v] == -1 && check[u])cout << "impossible\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...