제출 #1310969

#제출 시각아이디문제언어결과실행 시간메모리
1310969ttparin_Jakarta Skyscrapers (APIO15_skyscraper)C++20
10 / 100
1 ms576 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int b[30010]; int p[30010]; int dp[30010]; priority_queue<pair<int,int>> pq; signed main(){ int n,m; cin>>m>>n; for(int i=1;i<=n;i++){ cin>>b[i]>>p[i]; dp[i]=LLONG_MAX; } dp[1]=0; pq.push({0,1}); while(pq.empty()==0){ int w=-pq.top().first; int x=pq.top().second; if(x==2) break; if(w!=dp[x]){ pq.pop(); continue; } pq.pop(); for(int i=1;i<=n;i++){ if(i==x) continue; if((b[i]-b[x])%p[x]==0){ if(dp[i]>abs(b[i]-b[x])/p[x]+w){ dp[i]=abs(b[i]-b[x])/p[x]+w; pq.push({-w-dp[i],i}); } } } } if(dp[2]==LLONG_MAX){ cout<<"-1"; return 0; } cout<<dp[2]; return 0; }
#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...