#include<bits/stdc++.h>
using namespace std;
vector<pair<int,int> >v[30005];
queue<pair<int,int> >pq;
#define top() front()
main(){
cin.tie(0);
ios::sync_with_stdio(0);
int N,M;
cin>>N>>M;
bool occ[N+3];
memset(occ,0,sizeof(occ));
vector<pair<int,int> >hi;
for(int i=0;i<M;i++){
int a,b;
cin>>a>>b;
occ[a] = 1;
hi.push_back(make_pair(a,b));
}
pq.push(make_pair(0,0));
int dist[40005];
for(int i=0;i<35004;i++) dist[i] = 1e9;
dist[0] = 0;
while(!pq.empty()){
int dis = pq.top().first;
int no = pq.top().second;
pq.pop();
if(dist[no]<dis)continue;
if(v[no].empty()){
for(int i=0;i<M;i++){
if(abs(hi[i].first-hi[no].first)%hi[no].second!=0) continue;
int lol = dis+abs(hi[i].first-hi[no].first)/hi[no].second;
if(dist[i]>lol){
v[no].push_back(make_pair(i,lol-dis));
}
}
}
for(pair<int,int>p:v[no]){
if(dis+p.second<dist[p.first]){
dist[p.first] = dis+p.second;
pq.push(make_pair(dis+p.second,p.first));
}
}
}
if(dist[1] == 1e9) cout<<"-1";
else cout<<dist[1];
}
Compilation message
skyscraper.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
6 | main(){
| ^~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1108 KB |
Output is correct |
2 |
Correct |
1 ms |
1108 KB |
Output is correct |
3 |
Correct |
1 ms |
1108 KB |
Output is correct |
4 |
Correct |
1 ms |
1108 KB |
Output is correct |
5 |
Correct |
1 ms |
1108 KB |
Output is correct |
6 |
Correct |
1 ms |
1108 KB |
Output is correct |
7 |
Correct |
1 ms |
1108 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1108 KB |
Output is correct |
2 |
Correct |
1 ms |
1108 KB |
Output is correct |
3 |
Correct |
1 ms |
1108 KB |
Output is correct |
4 |
Correct |
1 ms |
1108 KB |
Output is correct |
5 |
Correct |
1 ms |
1108 KB |
Output is correct |
6 |
Correct |
1 ms |
1108 KB |
Output is correct |
7 |
Correct |
1 ms |
1108 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
1 ms |
1108 KB |
Output is correct |
10 |
Correct |
2 ms |
1108 KB |
Output is correct |
11 |
Correct |
22 ms |
1272 KB |
Output is correct |
12 |
Correct |
19 ms |
1236 KB |
Output is correct |
13 |
Correct |
20 ms |
1108 KB |
Output is correct |
14 |
Correct |
24 ms |
1236 KB |
Output is correct |
15 |
Correct |
23 ms |
1308 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1108 KB |
Output is correct |
2 |
Correct |
1 ms |
1108 KB |
Output is correct |
3 |
Correct |
1 ms |
1108 KB |
Output is correct |
4 |
Correct |
1 ms |
1108 KB |
Output is correct |
5 |
Correct |
1 ms |
1108 KB |
Output is correct |
6 |
Correct |
1 ms |
1108 KB |
Output is correct |
7 |
Correct |
1 ms |
1124 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
1 ms |
1108 KB |
Output is correct |
10 |
Correct |
2 ms |
1108 KB |
Output is correct |
11 |
Correct |
22 ms |
1228 KB |
Output is correct |
12 |
Correct |
20 ms |
1232 KB |
Output is correct |
13 |
Correct |
20 ms |
1108 KB |
Output is correct |
14 |
Correct |
22 ms |
1328 KB |
Output is correct |
15 |
Correct |
22 ms |
1236 KB |
Output is correct |
16 |
Correct |
1 ms |
1108 KB |
Output is correct |
17 |
Correct |
21 ms |
1276 KB |
Output is correct |
18 |
Correct |
1 ms |
1108 KB |
Output is correct |
19 |
Correct |
1 ms |
1108 KB |
Output is correct |
20 |
Correct |
25 ms |
1236 KB |
Output is correct |
21 |
Correct |
1 ms |
1108 KB |
Output is correct |
22 |
Correct |
1 ms |
1108 KB |
Output is correct |
23 |
Correct |
8 ms |
1200 KB |
Output is correct |
24 |
Correct |
29 ms |
1220 KB |
Output is correct |
25 |
Incorrect |
46 ms |
1240 KB |
Output isn't correct |
26 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1108 KB |
Output is correct |
2 |
Correct |
1 ms |
1108 KB |
Output is correct |
3 |
Correct |
1 ms |
1108 KB |
Output is correct |
4 |
Correct |
1 ms |
1108 KB |
Output is correct |
5 |
Correct |
1 ms |
1108 KB |
Output is correct |
6 |
Correct |
1 ms |
1108 KB |
Output is correct |
7 |
Correct |
1 ms |
1108 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
1 ms |
1108 KB |
Output is correct |
10 |
Correct |
2 ms |
1108 KB |
Output is correct |
11 |
Correct |
23 ms |
1276 KB |
Output is correct |
12 |
Correct |
21 ms |
1232 KB |
Output is correct |
13 |
Correct |
20 ms |
1212 KB |
Output is correct |
14 |
Correct |
22 ms |
1332 KB |
Output is correct |
15 |
Correct |
22 ms |
1316 KB |
Output is correct |
16 |
Correct |
1 ms |
1108 KB |
Output is correct |
17 |
Correct |
21 ms |
1236 KB |
Output is correct |
18 |
Correct |
1 ms |
1108 KB |
Output is correct |
19 |
Correct |
1 ms |
1108 KB |
Output is correct |
20 |
Correct |
26 ms |
1108 KB |
Output is correct |
21 |
Correct |
2 ms |
1108 KB |
Output is correct |
22 |
Correct |
1 ms |
1108 KB |
Output is correct |
23 |
Correct |
9 ms |
1108 KB |
Output is correct |
24 |
Correct |
31 ms |
1208 KB |
Output is correct |
25 |
Incorrect |
49 ms |
1236 KB |
Output isn't correct |
26 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
1108 KB |
Output is correct |
2 |
Correct |
1 ms |
1108 KB |
Output is correct |
3 |
Correct |
1 ms |
1108 KB |
Output is correct |
4 |
Correct |
1 ms |
1096 KB |
Output is correct |
5 |
Correct |
1 ms |
1108 KB |
Output is correct |
6 |
Correct |
1 ms |
1108 KB |
Output is correct |
7 |
Correct |
1 ms |
1160 KB |
Output is correct |
8 |
Correct |
1 ms |
1108 KB |
Output is correct |
9 |
Correct |
1 ms |
1108 KB |
Output is correct |
10 |
Correct |
2 ms |
1108 KB |
Output is correct |
11 |
Correct |
22 ms |
1268 KB |
Output is correct |
12 |
Correct |
19 ms |
1236 KB |
Output is correct |
13 |
Correct |
21 ms |
1232 KB |
Output is correct |
14 |
Correct |
23 ms |
1236 KB |
Output is correct |
15 |
Correct |
24 ms |
1312 KB |
Output is correct |
16 |
Correct |
1 ms |
1108 KB |
Output is correct |
17 |
Correct |
23 ms |
1276 KB |
Output is correct |
18 |
Correct |
1 ms |
1108 KB |
Output is correct |
19 |
Correct |
1 ms |
1108 KB |
Output is correct |
20 |
Correct |
26 ms |
1232 KB |
Output is correct |
21 |
Correct |
1 ms |
1108 KB |
Output is correct |
22 |
Correct |
1 ms |
1108 KB |
Output is correct |
23 |
Correct |
9 ms |
1108 KB |
Output is correct |
24 |
Correct |
31 ms |
1236 KB |
Output is correct |
25 |
Incorrect |
49 ms |
1236 KB |
Output isn't correct |
26 |
Halted |
0 ms |
0 KB |
- |