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 |
|
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 |