Submission #43410

# Submission time Handle Problem Language Result Execution time Memory
43410 2018-03-15T20:44:29 Z XmtosX 007 (CEOI14_007) C++14
3 / 100
569 ms 18812 KB
#include <bits/stdc++.h>
using namespace std;
int n,m,st1,st2,a,b;
vector <int> v[300005];
int lvl[300005][2];
void bs (int x,int y)
{
    queue<int> q;
    lvl[x][y]=1;
    q.push(x);
    while (!q.empty())
    {
        int node=q.front();
        q.pop();
        for (int i=0;i<v[node].size();i++)
        {
            if (!lvl[v[node][i]][y])
            {
                lvl[v[node][i]][y]=lvl[node][y]+1;
                q.push(v[node][i]);
            }
        }
    }
}
int main()
{
    cin >>n>>m>>st1>>st2>>a>>b;
    for (int i=0;i<m;i++)
    {
        int x,y;
        cin >>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    bs(st1,1);
    bs(st2,0);
    vector <int> v1;
    for (int i=0;i<v[a].size();i++)
    {
        if (v[a][i]!=b&&lvl[v[a][i]][0]<lvl[a][0])
            v1.push_back(v[a][i]);
    }
    for (int i=0;i<v[b].size();i++)
    {
        if (v[b][i]!=a&&lvl[v[b][i]][0]<lvl[b][0])
            v1.push_back(v[b][i]);
    }
    int ans=-1;
    for (int i=0;i<v1.size();i++)
    {
        ans=max(ans,lvl[v1[i]][0]-lvl[v1[i]][1]);
    }
    if (ans==-1)
    {
        cout <<-1;
        return 0;
    }
    lvl[a][1]++;
    lvl[b][1]++;
    ans=max(ans,lvl[a][0]-lvl[a][1]);
    ans=max(ans,lvl[b][0]-lvl[b][1]);
    cout <<ans;
    return 0;
}

Compilation message

007.cpp: In function 'void bs(int, int)':
007.cpp:15:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i=0;i<v[node].size();i++)
                       ^
007.cpp: In function 'int main()':
007.cpp:38:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0;i<v[a].size();i++)
                   ^
007.cpp:43:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0;i<v[b].size();i++)
                   ^
007.cpp:49:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0;i<v1.size();i++)
                   ^
# Verdict Execution time Memory Grader output
1 Correct 7 ms 7288 KB Output is correct
2 Partially correct 6 ms 7392 KB Partially correct
3 Partially correct 7 ms 7468 KB Partially correct
4 Correct 6 ms 7480 KB Output is correct
5 Partially correct 7 ms 7480 KB Partially correct
6 Correct 6 ms 7480 KB Output is correct
7 Partially correct 6 ms 7540 KB Partially correct
8 Partially correct 7 ms 7736 KB Partially correct
9 Partially correct 7 ms 7736 KB Partially correct
10 Correct 7 ms 7736 KB Output is correct
11 Incorrect 7 ms 7772 KB Output isn't correct
12 Correct 7 ms 7772 KB Output is correct
13 Partially correct 7 ms 7772 KB Partially correct
14 Incorrect 7 ms 7772 KB Output isn't correct
15 Correct 7 ms 7772 KB Output is correct
16 Correct 7 ms 7772 KB Output is correct
17 Correct 7 ms 7772 KB Output is correct
18 Correct 7 ms 7772 KB Output is correct
19 Partially correct 7 ms 7772 KB Partially correct
20 Partially correct 7 ms 7772 KB Partially correct
21 Incorrect 7 ms 7772 KB Output isn't correct
22 Correct 7 ms 7772 KB Output is correct
23 Correct 7 ms 7772 KB Output is correct
24 Partially correct 7 ms 7772 KB Partially correct
# Verdict Execution time Memory Grader output
1 Partially correct 47 ms 9292 KB Partially correct
2 Correct 64 ms 9964 KB Output is correct
3 Partially correct 55 ms 9964 KB Partially correct
4 Correct 63 ms 9964 KB Output is correct
5 Incorrect 51 ms 9964 KB Output isn't correct
6 Incorrect 47 ms 9964 KB Output isn't correct
7 Correct 54 ms 9964 KB Output is correct
8 Correct 55 ms 9964 KB Output is correct
9 Correct 88 ms 9972 KB Output is correct
10 Partially correct 380 ms 14300 KB Partially correct
11 Correct 96 ms 14300 KB Output is correct
12 Partially correct 136 ms 14300 KB Partially correct
13 Correct 110 ms 14300 KB Output is correct
14 Correct 93 ms 14300 KB Output is correct
15 Partially correct 124 ms 14300 KB Partially correct
16 Incorrect 140 ms 14300 KB Output isn't correct
17 Correct 118 ms 14300 KB Output is correct
18 Incorrect 117 ms 14300 KB Output isn't correct
19 Partially correct 227 ms 14300 KB Partially correct
20 Correct 428 ms 15960 KB Output is correct
21 Correct 168 ms 15960 KB Output is correct
22 Partially correct 158 ms 15960 KB Partially correct
23 Partially correct 172 ms 15960 KB Partially correct
24 Partially correct 172 ms 15960 KB Partially correct
25 Correct 161 ms 15960 KB Output is correct
26 Partially correct 151 ms 15960 KB Partially correct
27 Correct 189 ms 15960 KB Output is correct
28 Correct 207 ms 15960 KB Output is correct
29 Partially correct 287 ms 15960 KB Partially correct
30 Correct 449 ms 16716 KB Output is correct
31 Correct 228 ms 16716 KB Output is correct
32 Partially correct 208 ms 16716 KB Partially correct
33 Partially correct 189 ms 16716 KB Partially correct
34 Correct 203 ms 16716 KB Output is correct
35 Correct 178 ms 16716 KB Output is correct
36 Correct 193 ms 16716 KB Output is correct
37 Incorrect 225 ms 16716 KB Output isn't correct
38 Correct 224 ms 16716 KB Output is correct
39 Correct 237 ms 16716 KB Output is correct
40 Correct 372 ms 16716 KB Output is correct
41 Partially correct 569 ms 18812 KB Partially correct