Submission #100117

#TimeUsernameProblemLanguageResultExecution timeMemory
100117TadijaSebezJakarta Skyscrapers (APIO15_skyscraper)C++11
22 / 100
8 ms1228 KiB
#include <bits/stdc++.h> using namespace std; #define mp make_pair const int N=30050; const int inf=1e9+7; int dist[N]; vector<int> jump[N]; int my[N],p[N]; int main() { int n,m,i; scanf("%i %i",&n,&m); for(i=1;i<=m;i++) scanf("%i %i",&my[i],&p[i]),jump[my[i]].push_back(p[i]); for(i=1;i<=n;i++) dist[i]=inf; priority_queue<pair<int,int>> pq; pq.push(mp(0,my[1])); dist[my[1]]=0; while(pq.size()) { int d=-pq.top().first; int z=pq.top().second; pq.pop(); if(d!=dist[z]) continue; for(int j:jump[z]) { int cnt=1; for(int i=z+j;i<=n;i+=j) { if(dist[i]>dist[z]+cnt) { dist[i]=dist[z]+cnt; pq.push(mp(-dist[i],i)); } cnt++; } cnt=1; for(int i=z-j;i>=1;i-=j) { if(dist[i]>dist[z]+cnt) { dist[i]=dist[z]+cnt; pq.push(mp(-dist[i],i)); } cnt++; } } } if(dist[my[2]]==inf) printf("-1\n"); else printf("%i\n",dist[my[2]]); return 0; }

Compilation message (stderr)

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i %i",&n,&m);
  ~~~~~^~~~~~~~~~~~~~~
skyscraper.cpp:13:47: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(i=1;i<=m;i++) scanf("%i %i",&my[i],&p[i]),jump[my[i]].push_back(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...