Submission #1310913

#TimeUsernameProblemLanguageResultExecution timeMemory
1310913paulllolJakarta Skyscrapers (APIO15_skyscraper)C++20
0 / 100
2 ms584 KiB
#include<bits/stdc++.h> using namespace std; bool vs[30001]; int n,m,a,b,zz[30001],s0,s1,cnt; unordered_map<int,vector<int>> z; priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> pq; int main(){ cin.tie(NULL)->sync_with_stdio(false); cin>>n>>m; for(int i=0;i<m;i++){ cin>>a>>b; z[a].emplace_back(i); zz[i]=b; if(i==0){ s0=a; } if(i==1){ s1=a; } } pq.emplace(make_pair(0,s0)); while(!pq.empty()){ a=pq.top().first; b=pq.top().second; pq.pop(); if(vs[b]==0){ vs[b]=1; if(b==s1){ cout<<a; return 0; } for(int i=0;i<z[b].size();i++){ cnt=1; for(int j=b+zz[z[b][i]];j<n;j+=zz[z[b][i]]){ if(vs[j]==0){ pq.emplace(make_pair(a+cnt,j)); } cnt+=1; } cnt=1; for(int j=b-zz[z[b][i]];j>=0;j-=zz[z[b][i]]){ if(vs[j]==0){ pq.emplace(make_pair(a+cnt,j)); } cnt+=1; } } } } }
#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...