제출 #76823

#제출 시각아이디문제언어결과실행 시간메모리
76823vexJakarta Skyscrapers (APIO15_skyscraper)C++14
0 / 100
3 ms1344 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]; 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++)dis[i]=n+30; 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}); } } } } for(int i=0;i<n;i++)cout<<dis[i]<<" ";cout<<endl; cout<<"-1"<<endl; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:56:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for(int i=0;i<n;i++)cout<<dis[i]<<" ";cout<<endl;
     ^~~
skyscraper.cpp:56:43: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
     for(int i=0;i<n;i++)cout<<dis[i]<<" ";cout<<endl;
                                           ^~~~
skyscraper.cpp:31:11: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized]
     dis[s]=0;
     ~~~~~~^~
skyscraper.cpp:45:21: warning: 'e' may be used uninitialized in this function [-Wmaybe-uninitialized]
                     if(i==e)
                     ^~
#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...