Submission #83290

#TimeUsernameProblemLanguageResultExecution timeMemory
83290farukkastamonudaJakarta Skyscrapers (APIO15_skyscraper)C++14
0 / 100
4 ms3012 KiB
#include <bits/stdc++.h> #define li 30005 #define inf 1000000009 #define md 1000000007 #define lo long long #define fi first #define se second #define mp make_pair #define pb push_back #define ii pair<int, pair<int,int> > using namespace std; int n,m,B[li],P[li],tut=inf; queue< pair<int, pair<int,int> > > q; unordered_map<int,int> vis[li]; vector<int> v[li]; int main(){ scanf("%d %d",&n,&m); for(int i=0;i<m;i++){ scanf("%d %d",&B[i],&P[i]); v[B[i]].pb(i); } q.push(mp(1,mp(B[0],P[0]))); while(!q.empty()){ ii temp=q.front(); q.pop(); int seh=temp.se.fi; int cst=temp.fi; int zip=temp.se.se; //if(vis[seh][zip]==0) vis[seh][zip]=inf; if(vis[seh][zip]) continue; //printf("%d %d %d\n",seh,zip,cst); vis[seh][zip]=cst; if(seh==B[1]){ tut=min(tut,cst); continue; } for(int i=0;i<(int)v[seh].size();i++){ int ind=v[seh][i]; if(P[ind]!=zip){ q.push(mp(cst,mp(seh,P[ind]))); } } if(seh+zip<n) q.push(mp(cst+1,mp(seh+zip,zip))); if(seh-zip>=0) q.push(mp(cst+1,mp(seh-zip,zip))); } printf("%d\n",tut-1); return 0; }

Compilation message (stderr)

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:17: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:19: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...