제출 #787869

#제출 시각아이디문제언어결과실행 시간메모리
787869andecaandeciJakarta Skyscrapers (APIO15_skyscraper)C++17
57 / 100
1087 ms4868 KiB
#include<bits/stdc++.h> #define ll long long #define fi first #define sec second #define pb push_back #define pqueue priority_queue #define int long long #define pii pair<int,int> #define supercepat ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(0); using namespace std; int tc,ans=0,n,m; int b[30005],p[30005]; vector<int> vec[30005]; pqueue<pii> a; int dis[30005]; void djikstra(int x){ a.push(pii(0,x)); while(!a.empty()){ int idx=a.top().sec; // nomor gedung if(idx==b[1]) break; int dist=-1*a.top().fi; a.pop(); if(dis[idx]<dist){ continue; } else{ for(auto i : vec[idx]){ for(int j = idx+p[i];j<n;j+=p[i]){ if(dis[j]>dist+(abs(j-idx)/p[i])){ dis[j]=dist+(abs(j-idx)/p[i]); a.push(pii(-1*dis[j],j)); } } for(int j = idx-p[i];j>=0;j-=p[i]){ if(dis[j]>dist+(abs(j-idx)/p[i])){ dis[j]=dist+(abs(j-idx)/p[i]); a.push(pii(-1*dis[j],j)); } } } } } } main(){ supercepat; cin>>n>>m; for(int i=0;i<n;i++) dis[i]=INT_MAX; for(int i=0;i<m;i++){ cin>>b[i]>>p[i]; vec[b[i]].pb(i); } dis[b[0]]=0; djikstra(b[0]); if(dis[b[1]]==INT_MAX) cout<<-1<<endl; else cout<<dis[b[1]]<<endl; }

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

skyscraper.cpp:44:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   44 | main(){
      | ^~~~
#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...