Submission #76828

#TimeUsernameProblemLanguageResultExecution timeMemory
76828vexJakarta Skyscrapers (APIO15_skyscraper)C++14
57 / 100
1071 ms10836 KiB
#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 bio[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; bio[i]=false; } pq.push({0,s}); dis[s]=0; while(!pq.empty()) { int v=pq.top().second; pq.pop(); if(bio[v])continue; bio[v]=true; 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; pq.push({-dis[i],i}); } } } } if(dis[e]<maxn*maxn+1)cout<<dis[e]<<endl; else cout<<"-1"<<endl; return 0; }

Compilation message (stderr)

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:37:5: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if(e==s)
     ^~
skyscraper.cpp:71:13: warning: 'e' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if(dis[e]<maxn*maxn+1)cout<<dis[e]<<endl;
        ~~~~~^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...