Submission #773201

#TimeUsernameProblemLanguageResultExecution timeMemory
773201JakobZorzSequence (APIO23_sequence)C++17
Compilation error
0 ms0 KiB
#include "cyberland.h" #include <vector> #include <iostream> #include <limits.h> #include <queue> #include <algorithm> typedef long long ll; typedef __float128 lld; const double MAX_DIST=1000000000000000000.0; using namespace std; int n,m,k,h; vector<pair<int,lld>>nodes[100000]; lld dist[100000]; bool vis[100000]; void dfs(int node){ if(vis[node]) return; vis[node]=true; if(node==h) return; for(pair<int,lld>ne:nodes[node]){ dfs(ne.first); } } double solve(int N,int M,int K,int H,vector<int>x,vector<int>y,vector<int>c,vector<int>arr){ n=N; m=M; k=K; h=H; for(int i=0;i<n;i++){ nodes[i].clear(); dist[i]=MAX_DIST; vis[i]=false; } for(int i=0;i<m;i++){ nodes[x[i]].emplace_back(y[i],c[i]); nodes[y[i]].emplace_back(x[i],c[i]); } dfs(0); dist[0]=0; queue<int>q; q.push(0); if(!vis[h]) return -1; for(int i=0;i<n;i++){ if(arr[i]==0&&vis[i]){ dist[i]=0; q.push(i); } } while(!q.empty()){ int curr=q.front(); q.pop(); if(curr==h) continue; for(pair<int,lld>ne:nodes[curr]){ lld new_dist=dist[curr]+ne.second; if(new_dist<dist[ne.first]){ dist[ne.first]=new_dist; q.push(ne.first); } } } k=min(100,k); while(k--){ for(int i=0;i<n;i++){ if(arr[i]==2&&vis[i]){ for(pair<int,lld>ne:nodes[i]){ lld new_dist=dist[i]/2.0+ne.second; if(new_dist<dist[ne.first]){ dist[ne.first]=new_dist; q.push(ne.first); } } } } if(q.empty()) break; while(!q.empty()){ int curr=q.front(); q.pop(); if(curr==h) continue; for(pair<int,lld>ne:nodes[curr]){ lld new_dist=dist[curr]+ne.second; if(new_dist<dist[ne.first]){ dist[ne.first]=new_dist; q.push(ne.first); } } } } return dist[h]; }

Compilation message (stderr)

sequence.cpp:1:10: fatal error: cyberland.h: No such file or directory
    1 | #include "cyberland.h"
      |          ^~~~~~~~~~~~~
compilation terminated.