Submission #23598

#TimeUsernameProblemLanguageResultExecution timeMemory
23598repeatingJakarta Skyscrapers (APIO15_skyscraper)C++11
22 / 100
1000 ms125052 KiB
#include <bits/stdc++.h> #define F first #define S second #define P push #define pb push_back #define MEM(dp,i) memset(dp,i,sizeof(dp)) #define W while #define R return #define C continue #define SI size() #define ll long long #define pll pair<ll,ll> #define SF(x) scanf("%I64d",&x) using namespace std; const long long INF = 2e9; long long MOD = 1e9+7; ll n,m; ll a[2222],b[2222]; vector<pll> adj[2222]; bool vis[2222]; priority_queue< pll , vector<pll> , greater<pll> > pq; ll pos; bool bol[2222][2222]; ll dijkstra(){ pq.P({0,a[0]}); ll dis,ver,node,d; ll res=-1; W(!pq.empty()){ dis=pq.top().F,ver=pq.top().S; pq.pop(); if(ver==pos) if(res==-1||res>dis) res=dis; if(vis[ver])C; vis[ver]=1; for(int i=0;i<adj[ver].SI;i++){ node=adj[ver][i].F; d=dis+adj[ver][i].S; pq.P({d,node}); } } R res; } bool vs[2222][2222]; int main(){ cin>>m>>n; for(int i=0;i<n;i++){ cin>>a[i]>>b[i]; if(b[i]<=2000)bol[a[i]][b[i]]=1; } pos=a[1]; for(int i=0;i<m;i++){ for(int j=1;j<=2000;j++){ if(!bol[i][j])C; for(int k=i,q=0;k<m;q++,k+=j){ adj[i].pb({k,q}); } for(int k=i,q=0;k>=0;q++,k-=j){ adj[i].pb({k,q}); } } } cout<<dijkstra(); }

Compilation message (stderr)

skyscraper.cpp: In function 'long long int dijkstra()':
skyscraper.cpp:37:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<adj[ver].SI;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...