Submission #864145

# Submission time Handle Problem Language Result Execution time Memory
864145 2023-10-22T07:29:08 Z danikoynov Event Hopping (BOI22_events) C++14
10 / 100
1500 ms 49140 KB
#include<bits/stdc++.h>
#define debug true
#ifdef DEVAL 
    #define debug false
#endif

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], dist[5010][5010];
int my_queue[maxn];
void bfs(int start)
{
    for (int i = 1; i <= n; i ++)
        used[i] = -1;

    used[start] = 0;
    int st = 1, en = 0;
    my_queue[++ en]  = start;
    while(st <= en)
    {
        int v = my_queue[st ++];
        for (int u : adj[v])
        {
            if (used[u] == - 1)
            {
                used[u] = used[v] + 1;
                my_queue[++ en] = u;
            }
        }
    }
}

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

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

    }
}

void precalc()
{
    for (int v = 1; v <= n; v ++)
    {
        bfs(v);
        for (int i = 1; i <= n; i ++)
            dist[v][i] = used[i];
    }
}

void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}

void solve()
{

    read();
    build_graph();
    precalc();
    answer_queries();    
}

int main()
{
    speed();
    solve();
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 8540 KB Output is correct
2 Execution timed out 1579 ms 5032 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 8536 KB Output is correct
2 Correct 1 ms 8540 KB Output is correct
3 Correct 13 ms 27144 KB Output is correct
4 Correct 10 ms 26972 KB Output is correct
5 Correct 13 ms 27152 KB Output is correct
6 Correct 38 ms 27728 KB Output is correct
7 Correct 103 ms 28500 KB Output is correct
8 Correct 125 ms 30036 KB Output is correct
9 Correct 638 ms 31060 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 8536 KB Output is correct
2 Correct 1 ms 8540 KB Output is correct
3 Correct 13 ms 27144 KB Output is correct
4 Correct 10 ms 26972 KB Output is correct
5 Correct 13 ms 27152 KB Output is correct
6 Correct 38 ms 27728 KB Output is correct
7 Correct 103 ms 28500 KB Output is correct
8 Correct 125 ms 30036 KB Output is correct
9 Correct 638 ms 31060 KB Output is correct
10 Correct 1 ms 8536 KB Output is correct
11 Correct 2 ms 8540 KB Output is correct
12 Correct 13 ms 27140 KB Output is correct
13 Correct 10 ms 26968 KB Output is correct
14 Correct 12 ms 26972 KB Output is correct
15 Correct 39 ms 27688 KB Output is correct
16 Correct 103 ms 28500 KB Output is correct
17 Correct 125 ms 29776 KB Output is correct
18 Correct 656 ms 31120 KB Output is correct
19 Execution timed out 1536 ms 49140 KB Time limit exceeded
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 8536 KB Output is correct
2 Correct 1 ms 8540 KB Output is correct
3 Correct 13 ms 27144 KB Output is correct
4 Correct 10 ms 26972 KB Output is correct
5 Correct 13 ms 27152 KB Output is correct
6 Correct 38 ms 27728 KB Output is correct
7 Correct 103 ms 28500 KB Output is correct
8 Correct 125 ms 30036 KB Output is correct
9 Correct 638 ms 31060 KB Output is correct
10 Correct 1 ms 8540 KB Output is correct
11 Correct 1 ms 8540 KB Output is correct
12 Correct 12 ms 26972 KB Output is correct
13 Correct 10 ms 27108 KB Output is correct
14 Correct 13 ms 26972 KB Output is correct
15 Correct 39 ms 27908 KB Output is correct
16 Correct 103 ms 28500 KB Output is correct
17 Correct 133 ms 29780 KB Output is correct
18 Correct 682 ms 31060 KB Output is correct
19 Execution timed out 1525 ms 4960 KB Time limit exceeded
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1562 ms 4976 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 8540 KB Output is correct
2 Execution timed out 1579 ms 5032 KB Time limit exceeded
3 Halted 0 ms 0 KB -