제출 #735361

#제출 시각아이디문제언어결과실행 시간메모리
735361ReLiceJakarta Skyscrapers (APIO15_skyscraper)C++17
36 / 100
291 ms262144 KiB
#include <bits/stdc++.h> #define ll int #define ld long double #define pb push_back #define endl "\n" #define fr first #define sc second #define sz size() #define bc back() using namespace std; const ll N=2e3+7; ll n,d[N]; vector <vector <pair<ll,ll>> > g(N); void dijkstra(ll val){ set <pair<ll,ll>> q; q.insert({0,val}); d[val]=0; while(!q.empty()){ ll x=q.begin()->sc; q.erase(q.begin()); for(auto i : g[x]){ ll len=i.sc,to=i.fr; if(d[to]>d[x]+len){ q.erase({d[to], to}); d[to]=d[x]+len; q.insert({d[to],to}); } } } } void solve(){ ll i,j,q,b,c,m,t; ll k; cin>>n>>m; for(i=0;i<m;i++){ cin>>b>>t; if(i==0) k=b; if(i==1) q=b; c=0; for(j=b+t;j<n;j+=t){ c++; g[b].pb({j,c}); } c=0; for(j=b-t;j>=0;j-=t){ c++; g[b].pb({j,c}); } } for(i=0;i<n;i++) d[i]=INT_MAX; dijkstra(k); if(d[q]==INT_MAX) cout<<-1<<endl; else cout<<d[q]<<endl; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll t=1; while(t--) solve(); } /* 5 3 0 2 1 1 4 1 */

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

skyscraper.cpp: In function 'void solve()':
skyscraper.cpp:51:13: warning: 'k' may be used uninitialized in this function [-Wmaybe-uninitialized]
   51 |     dijkstra(k);
      |     ~~~~~~~~^~~
skyscraper.cpp:52:11: warning: 'q' may be used uninitialized in this function [-Wmaybe-uninitialized]
   52 |     if(d[q]==INT_MAX) cout<<-1<<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...