Submission #981283

#TimeUsernameProblemLanguageResultExecution timeMemory
981283Faisal_SaqibRainforest Jumps (APIO21_jumps)C++17
Compilation error
0 ms0 KiB
#include "jumps.h" #include <vector> #include <bits/stdc++.h> #include "stub.cpp" using namespace std; const int N=202; int n; int dist[N]; vector<int> adj[N]; void init(int NP, std::vector<int> h) { n=NP; set<int> spl; vector<pair<int,int>> pp; for(int j=0;j<n;j++) pp.push_back({h[j],j}); sort(begin(pp),end(pp)); for(int j=n-1;j>=0;j--) { auto it = spl.upper_bound(pp[j].second); // cout<<"For "<<pp[j].second<<" edge with: "; if(it!=end(spl)) { // cout<<*it<<' '; adj[pp[j].second].push_back(*it); } if(it!=begin(spl)) { it--; // cout<<*it<<' '; adj[pp[j].second].push_back(*it); } // cout<<endl; spl.insert(pp[j].second); } } int minimum_jumps(int a, int b, int c, int d) { int ans=0; bool reach=0; for(int st=a;st<=b;st++) { for(int j=1;j<=n;j++) dist[j]=2e9; dist[st]=0; priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> pq; pq.push({dist[st],st}); while(pq.size()) { auto it=pq.top(); if(c<=it.second and it.second<=d) { if(reach) { ans=min(ans,it.first); } else{ ans=it.first; reach=1; } break; } pq.pop(); if(dist[it.second]==it.first) { for(auto dj:adj[it.second]) { if(dist[dj]>(dist[it.second]+1)) { dist[dj]=dist[it.second]+1; pq.push({dist[dj],dj}); } } } } while(pq.size()) pq.pop(); } if(!reach) return -1; return ans; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccMTICH4.o: in function `main':
stub.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccCKSxQ4.o:jumps.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status