Submission #864133

# Submission time Handle Problem Language Result Execution time Memory
864133 2023-10-22T07:15:06 Z danikoynov Event Hopping (BOI22_events) C++14
0 / 100
1500 ms 7952 KB
#include<bits/stdc++.h>

using namespace std;

const int maxn = 1e5 + 10;

struct interval
{
    int s, e;
}seg[maxn];

int n, q;   
pair < int, int > task[maxn];
void read()
{
    cin >> n >> q;
    for (int i = 1; i <= n; i ++)
    {
        cin >> seg[i].s >> seg[i].e;
    }
    for (int i = 1; i <= q; i ++)
    {
        cin >> task[i].first >> task[i].second;
    }
}


vector < int > adj[maxn];

int used[maxn];

void bfs(int start)
{
    for (int i = 1; i <= n; i ++)
        used[i] = -1;

    used[start] = 0;
    queue < int > q;
    q.push(start);
    while(!q.empty())
    {
        int v = q.front();
        q.pop();
        for (int u : adj[v])
        {
            if (used[u] == - 1)
            {
                used[u] = used[v] + 1;
                q.push(u);
            }
        }
    }
}

void build_graph()
{
    for (int i = 1; i <= n; i ++)
       for (int j = 1; j <= n; j ++)
        {
            if (seg[j].s >= seg[i].s && seg[j].s <= seg[i].e)
                adj[i].push_back(j);
        }
}

void answer_queries()
{
    for (int i = 1; i <= q; i ++)
    {
        bfs(task[i].first);
        if (used[task[i].second] == -1)
            cout << "impossible" << endl;
        else
            cout << used[task[i].second] << endl;

    }
}
void solve()
{
    read();
    build_graph();
    answer_queries();    
}

int main()
{
    solve();
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4440 KB Output is correct
2 Execution timed out 1533 ms 7952 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Correct 1 ms 4444 KB Output is correct
3 Correct 7 ms 4536 KB Output is correct
4 Correct 6 ms 4568 KB Output is correct
5 Incorrect 6 ms 4556 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Correct 1 ms 4444 KB Output is correct
3 Correct 7 ms 4536 KB Output is correct
4 Correct 6 ms 4568 KB Output is correct
5 Incorrect 6 ms 4556 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Correct 1 ms 4444 KB Output is correct
3 Correct 7 ms 4536 KB Output is correct
4 Correct 6 ms 4568 KB Output is correct
5 Incorrect 6 ms 4556 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1525 ms 7764 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4440 KB Output is correct
2 Execution timed out 1533 ms 7952 KB Time limit exceeded
3 Halted 0 ms 0 KB -