제출 #83333

#제출 시각아이디문제언어결과실행 시간메모리
83333farukkastamonudaJakarta Skyscrapers (APIO15_skyscraper)C++14
57 / 100
1074 ms57460 KiB
#include <bits/stdc++.h> #define li 30005 #define inf 2000001000 #define md 1000000007 #define lo long long #define fi first #define se second #define mp make_pair #define pb push_back #define ii pair<lo int,lo int> using namespace std; int n,m,B[li],P[li],dist[li]; set<int> S[li]; vector< pair<int,int> > v[li]; int vis[li]; priority_queue< pair<int,int> > q; void bfs(){ for(int i=0;i<n;i++) dist[i]=inf; q.push(mp(0,B[0])); while(!q.empty()){ ii temp=q.top(); q.pop(); int seh=temp.se; int cst=-temp.fi; if(dist[seh]<=cst) continue; dist[seh]=cst; for(int i=0;i<(int)v[seh].size();i++){ int go=v[seh][i].fi; int para=v[seh][i].se; if(dist[go]>para+cst){ //dist[go]=para+cst; q.push(mp(-(para+cst),go)); } } } } int main(){ scanf("%d %d",&n,&m); for(int i=0;i<m;i++){ scanf("%d %d",&B[i],&P[i]); S[B[i]].insert(P[i]); } for(int i=0;i<n;i++){ for(auto e:S[i]){ for(int j=i+e;j<n;j+=e){ v[i].pb(mp(j,(j-i)/e)); if(S[j].lower_bound(e)!=S[j].end() && *S[j].lower_bound(e)==e) break; } } } for(int i=0;i<n;i++){ for(auto e:S[i]){ for(int j=i-e;j>=0;j-=e){ v[i].pb(mp(j,(i-j)/e)); if(S[j].lower_bound(e)!=S[j].end() && *S[j].lower_bound(e)==e) break; } } } bfs(); if(dist[B[1]]==inf) printf("-1\n"); else printf("%d\n",dist[B[1]]); return 0; }

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

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:38:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&n,&m);
  ~~~~~^~~~~~~~~~~~~~~
skyscraper.cpp:40:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d",&B[i],&P[i]);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~
#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...