#include <bits/stdc++.h>
#define maxn 30005
#define pii pair<int,int>
using namespace std;
int n,m;
vector<int>p[maxn];
priority_queue<pii>pq;
int dis[maxn];
bool cmp(int x,int y)
{
return x>y;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
cin>>n>>m;
int s;
int e;
for(int i=0;i<m;i++)
{
int x,y;
cin>>x>>y;
p[x].push_back(y);
if(i==0)s=x;
if(i==1)e=x;
}
for(int i=0;i<n;i++)sort(p[i].begin(),p[i].end(),cmp);
if(e==s)
{
cout<<"0"<<endl;
return 0;
}
for(int i=0;i<n;i++)dis[i]=maxn*maxn+55;
pq.push({0,s});
dis[s]=0;
while(!pq.empty())
{
int v=pq.top().second;
pq.pop();
for(auto x:p[v])
{
for(int i=v%x;i<n;i+=x)
{
if(dis[i]>dis[v]+(abs(i-v))/x)
{
dis[i]=dis[v]+(abs(i-v))/x;
if(i==e)
{
cout<<dis[i]<<endl;
return 0;
}
pq.push({-dis[i],i});
}
}
}
}
cout<<"-1"<<endl;
return 0;
}
Compilation message
skyscraper.cpp: In function 'int main()':
skyscraper.cpp:36:5: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(e==s)
^~
skyscraper.cpp:58:21: warning: 'e' may be used uninitialized in this function [-Wmaybe-uninitialized]
if(i==e)
^~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
1016 KB |
Output is correct |
2 |
Correct |
2 ms |
1016 KB |
Output is correct |
3 |
Correct |
2 ms |
1176 KB |
Output is correct |
4 |
Correct |
3 ms |
1256 KB |
Output is correct |
5 |
Correct |
2 ms |
1256 KB |
Output is correct |
6 |
Correct |
3 ms |
1392 KB |
Output is correct |
7 |
Correct |
3 ms |
1392 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
1392 KB |
Output is correct |
2 |
Correct |
3 ms |
1392 KB |
Output is correct |
3 |
Correct |
3 ms |
1392 KB |
Output is correct |
4 |
Correct |
3 ms |
1392 KB |
Output is correct |
5 |
Correct |
2 ms |
1392 KB |
Output is correct |
6 |
Correct |
2 ms |
1392 KB |
Output is correct |
7 |
Correct |
2 ms |
1392 KB |
Output is correct |
8 |
Correct |
2 ms |
1392 KB |
Output is correct |
9 |
Incorrect |
3 ms |
1392 KB |
Output isn't correct |
10 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
1392 KB |
Output is correct |
2 |
Correct |
2 ms |
1392 KB |
Output is correct |
3 |
Correct |
3 ms |
1392 KB |
Output is correct |
4 |
Correct |
3 ms |
1392 KB |
Output is correct |
5 |
Correct |
3 ms |
1392 KB |
Output is correct |
6 |
Correct |
3 ms |
1392 KB |
Output is correct |
7 |
Correct |
3 ms |
1392 KB |
Output is correct |
8 |
Correct |
3 ms |
1392 KB |
Output is correct |
9 |
Incorrect |
3 ms |
1392 KB |
Output isn't correct |
10 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
1392 KB |
Output is correct |
2 |
Correct |
2 ms |
1392 KB |
Output is correct |
3 |
Correct |
3 ms |
1392 KB |
Output is correct |
4 |
Correct |
2 ms |
1392 KB |
Output is correct |
5 |
Correct |
3 ms |
1392 KB |
Output is correct |
6 |
Correct |
3 ms |
1392 KB |
Output is correct |
7 |
Correct |
3 ms |
1392 KB |
Output is correct |
8 |
Correct |
3 ms |
1392 KB |
Output is correct |
9 |
Incorrect |
3 ms |
1392 KB |
Output isn't correct |
10 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
1392 KB |
Output is correct |
2 |
Correct |
2 ms |
1392 KB |
Output is correct |
3 |
Correct |
3 ms |
1392 KB |
Output is correct |
4 |
Correct |
3 ms |
1392 KB |
Output is correct |
5 |
Correct |
3 ms |
1392 KB |
Output is correct |
6 |
Correct |
2 ms |
1396 KB |
Output is correct |
7 |
Correct |
2 ms |
1400 KB |
Output is correct |
8 |
Correct |
40 ms |
1404 KB |
Output is correct |
9 |
Incorrect |
2 ms |
1404 KB |
Output isn't correct |
10 |
Halted |
0 ms |
0 KB |
- |