Submission #1774806


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using node = tuple<ll, int>;
const int inf = numeric_limits<int>::max()/3;

vector< vector<int> > G;
int dist_s[100010];
int dist_t[100010];

void dijkstra(int s,int *dist){
  priority_queue< node, vector<node>, greater<node> > que;
  que.push(node(0,s));
  while(!que.empty()){
    int now,cost;
    tie(cost,now) = que.top();
    que.pop();
    if(cost < dist[now]){
      dist[now] = cost;
      for(int i : G[now]){
        if(cost + 1 < dist[i]){
          que.push(node(cost+1,i));
        }
      }
    }
  }
}

int main(void){
  fill(dist_s,dist_s+100010,inf);
  fill(dist_t,dist_t+100010,inf);
  int n,m,s,t;
  cin >> n >> m >> s >> t;
  --s;--t;
  G.resize(n);
  for(int i = 0;i < m;++i){
    int x,y;
    cin >> x >> y;
    --x;--y;
    G[x].push_back(y);
    G[y].push_back(x);
  }
  dijkstra(s,dist_s);
  dijkstra(t,dist_t);
  vector< int > vec;
  for(int i = 0;i < n;++i){
    vec.push_back(dist_t[i]);
  }
  sort(vec.begin(),vec.end());
  int mdist = dist_s[t];
  ll res = 0;
  for(int i = 0;i < n;++i){
    int target = mdist - dist_s[i] - 2;
    int cnt =
      upper_bound(vec.begin(),vec.end(),target)
      - lower_bound(vec.begin(),vec.end(),target);
    cnt = max(cnt,0);
    res += cnt;
  }
  cout << res << endl;
  return 0;
}

Submission Info

Submission Time
Task B - Minus One
User Ashurnasirpal
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1380 Byte
Status AC
Exec Time 198 ms
Memory 10836 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 73
Set Name Test Cases
All 00-sample1.txt, 00-sample2.txt, 00-sample4.txt, 50-random10.txt, 50-random11.txt, 50-random12.txt, 50-random13.txt, 50-random14.txt, 50-random15.txt, 50-random16.txt, 50-random17.txt, 50-random18.txt, 50-random19.txt, 50-random20.txt, 50-random21.txt, 50-random22.txt, 50-random23.txt, 50-random24.txt, 50-random25.txt, 50-random26.txt, 50-random27.txt, 50-random28.txt, 50-random29.txt, 50-random30.txt, 50-random31.txt, 50-random32.txt, 50-random33.txt, 50-random34.txt, 50-random35.txt, 50-random36.txt, 50-random37.txt, 50-random38.txt, 50-random39.txt, 50-random40.txt, 50-random41.txt, 50-random42.txt, 50-random43.txt, 50-random44.txt, 50-random45.txt, 50-random46.txt, 50-random47.txt, 50-random48.txt, 50-random49.txt, 50-random50.txt, 50-random51.txt, 50-random52.txt, 50-random53.txt, 50-random54.txt, 50-random55.txt, 50-random56.txt, 50-random57.txt, 50-random58.txt, 50-random59.txt, 50-random60.txt, 50-random61.txt, 50-random62.txt, 50-random63.txt, 50-random64.txt, 50-random65.txt, 50-random66.txt, 50-random67.txt, 50-random68.txt, 50-random69.txt, intoverflow00.txt, intoverflow01.txt, intoverflow02.txt, intoverflow03.txt, intoverflow04.txt, intoverflow05.txt, intoverflow06.txt, intoverflow07.txt, intoverflow08.txt, intoverflow09.txt
Case Name Status Exec Time Memory
00-sample1.txt AC 2 ms 1024 KB
00-sample2.txt AC 2 ms 1024 KB
00-sample4.txt AC 2 ms 1024 KB
50-random10.txt AC 2 ms 1024 KB
50-random11.txt AC 2 ms 1024 KB
50-random12.txt AC 2 ms 1024 KB
50-random13.txt AC 2 ms 1024 KB
50-random14.txt AC 2 ms 1024 KB
50-random15.txt AC 2 ms 1024 KB
50-random16.txt AC 2 ms 1024 KB
50-random17.txt AC 2 ms 1024 KB
50-random18.txt AC 2 ms 1024 KB
50-random19.txt AC 2 ms 1024 KB
50-random20.txt AC 2 ms 1024 KB
50-random21.txt AC 2 ms 1024 KB
50-random22.txt AC 2 ms 1024 KB
50-random23.txt AC 2 ms 1024 KB
50-random24.txt AC 2 ms 1024 KB
50-random25.txt AC 2 ms 1024 KB
50-random26.txt AC 2 ms 1024 KB
50-random27.txt AC 2 ms 1024 KB
50-random28.txt AC 2 ms 1024 KB
50-random29.txt AC 2 ms 1024 KB
50-random30.txt AC 2 ms 1024 KB
50-random31.txt AC 2 ms 1024 KB
50-random32.txt AC 2 ms 1024 KB
50-random33.txt AC 2 ms 1024 KB
50-random34.txt AC 2 ms 1024 KB
50-random35.txt AC 2 ms 1024 KB
50-random36.txt AC 2 ms 1024 KB
50-random37.txt AC 2 ms 1024 KB
50-random38.txt AC 2 ms 1024 KB
50-random39.txt AC 2 ms 1024 KB
50-random40.txt AC 4 ms 1152 KB
50-random41.txt AC 2 ms 1024 KB
50-random42.txt AC 2 ms 1024 KB
50-random43.txt AC 2 ms 1024 KB
50-random44.txt AC 3 ms 1024 KB
50-random45.txt AC 2 ms 1024 KB
50-random46.txt AC 3 ms 1024 KB
50-random47.txt AC 3 ms 1152 KB
50-random48.txt AC 3 ms 1152 KB
50-random49.txt AC 3 ms 1152 KB
50-random50.txt AC 7 ms 1408 KB
50-random51.txt AC 18 ms 1920 KB
50-random52.txt AC 5 ms 1152 KB
50-random53.txt AC 14 ms 1792 KB
50-random54.txt AC 18 ms 1800 KB
50-random55.txt AC 23 ms 2048 KB
50-random56.txt AC 2 ms 1152 KB
50-random57.txt AC 10 ms 1536 KB
50-random58.txt AC 7 ms 1408 KB
50-random59.txt AC 8 ms 1408 KB
50-random60.txt AC 119 ms 6248 KB
50-random61.txt AC 113 ms 6024 KB
50-random62.txt AC 189 ms 9172 KB
50-random63.txt AC 115 ms 5988 KB
50-random64.txt AC 120 ms 6460 KB
50-random65.txt AC 41 ms 2952 KB
50-random66.txt AC 35 ms 3072 KB
50-random67.txt AC 14 ms 3072 KB
50-random68.txt AC 12 ms 1536 KB
50-random69.txt AC 8 ms 2432 KB
intoverflow00.txt AC 198 ms 10836 KB
intoverflow01.txt AC 192 ms 10832 KB
intoverflow02.txt AC 192 ms 10828 KB
intoverflow03.txt AC 185 ms 10836 KB
intoverflow04.txt AC 190 ms 10832 KB
intoverflow05.txt AC 190 ms 10832 KB
intoverflow06.txt AC 186 ms 10832 KB
intoverflow07.txt AC 188 ms 10836 KB
intoverflow08.txt AC 191 ms 10836 KB
intoverflow09.txt AC 186 ms 10836 KB