Submission #47782

# Submission time Handle Problem Language Result Execution time Memory
47782 2018-05-07T08:28:54 Z Talant Bitaro’s Party (JOI18_bitaro) C++14
0 / 100
12 ms 7576 KB
#include <bits/stdc++.h>

#define mk make_pair
#define sc second
#define fr first
#define pb emplace_back
#define all(s) s.begin(), s.end()
#define sz(s) ( (int)s.size() )
#define Scan(a) scanf ("%I64d", &a)
#define scan(a) scanf ("%d", &a)

using namespace std;

const int inf = (int)1e9 + 7;
const int N = (int)3e5 + 7;

int n,m,qy;
int l,r;
int t,y,x;
int d[N],u[N];
int ans = -1;

vector <int> g[N];
priority_queue<pair<int,int> > q;

void djk(int v) {
      for (int i = 1; i <= n; i ++)
            d[i] = -inf;

      d[v] = 0;

      q.push({0,v});

      while (!q.empty()) {
            int v = q.top().sc,cur = q.top().fr;
            q.pop();

            if (!u[v])
                  ans = max(ans,d[v]);

            if (cur < d[v] || ans > cur)
                  continue;

            for (auto to : g[v]) {
                  if (d[v] + 1 > d[to]) {
                        d[to] = d[v] + 1;
                        q.push({d[to],to});
                  }
            }
      }
}
main () {
      scan(n);scan(m);scan(qy);

      for (int i = 1; i <= m; i ++) {
            scan(l);scan(r);
            g[r].pb(l);
      }

      scan(t);scan(y);

      if (y == n) {
            cout << "-1";
            return 0;
      }

      for (int i = 1; i <= y; i ++) {
            scan(x);
            u[x] = 1;
      }

      djk(t);

      printf("%d\n", ans);

      return 0;
}

Compilation message

bitaro.cpp:52:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main () {
       ^
bitaro.cpp: In function 'int main()':
bitaro.cpp:10:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 #define scan(a) scanf ("%d", &a)
                 ~~~~~~^~~~~~~~~~
bitaro.cpp:53:7: note: in expansion of macro 'scan'
       scan(n);scan(m);scan(qy);
       ^~~~
bitaro.cpp:10:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 #define scan(a) scanf ("%d", &a)
                 ~~~~~~^~~~~~~~~~
bitaro.cpp:53:15: note: in expansion of macro 'scan'
       scan(n);scan(m);scan(qy);
               ^~~~
bitaro.cpp:10:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 #define scan(a) scanf ("%d", &a)
                 ~~~~~~^~~~~~~~~~
bitaro.cpp:53:23: note: in expansion of macro 'scan'
       scan(n);scan(m);scan(qy);
                       ^~~~
bitaro.cpp:10:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 #define scan(a) scanf ("%d", &a)
                 ~~~~~~^~~~~~~~~~
bitaro.cpp:56:13: note: in expansion of macro 'scan'
             scan(l);scan(r);
             ^~~~
bitaro.cpp:10:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 #define scan(a) scanf ("%d", &a)
                 ~~~~~~^~~~~~~~~~
bitaro.cpp:56:21: note: in expansion of macro 'scan'
             scan(l);scan(r);
                     ^~~~
bitaro.cpp:10:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 #define scan(a) scanf ("%d", &a)
                 ~~~~~~^~~~~~~~~~
bitaro.cpp:60:7: note: in expansion of macro 'scan'
       scan(t);scan(y);
       ^~~~
bitaro.cpp:10:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 #define scan(a) scanf ("%d", &a)
                 ~~~~~~^~~~~~~~~~
bitaro.cpp:60:15: note: in expansion of macro 'scan'
       scan(t);scan(y);
               ^~~~
bitaro.cpp:10:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 #define scan(a) scanf ("%d", &a)
                 ~~~~~~^~~~~~~~~~
bitaro.cpp:68:13: note: in expansion of macro 'scan'
             scan(x);
             ^~~~
# Verdict Execution time Memory Grader output
1 Correct 9 ms 7416 KB Output is correct
2 Correct 8 ms 7416 KB Output is correct
3 Correct 8 ms 7448 KB Output is correct
4 Correct 6 ms 7576 KB Output is correct
5 Incorrect 12 ms 7576 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 9 ms 7416 KB Output is correct
2 Correct 8 ms 7416 KB Output is correct
3 Correct 8 ms 7448 KB Output is correct
4 Correct 6 ms 7576 KB Output is correct
5 Incorrect 12 ms 7576 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 9 ms 7416 KB Output is correct
2 Correct 8 ms 7416 KB Output is correct
3 Correct 8 ms 7448 KB Output is correct
4 Correct 6 ms 7576 KB Output is correct
5 Incorrect 12 ms 7576 KB Output isn't correct
6 Halted 0 ms 0 KB -