Submission #1211890

#TimeUsernameProblemLanguageResultExecution timeMemory
1211890Marco_EscandonShortcut (IOI16_shortcut)C++20
Compilation error
0 ms0 KiB
//#include "shortcut.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<vector<pair<int,ll>>> cad;
ll a, b, c;
pair<ll,ll> asd(int d)
{
    cad[a].push_back({b,c});
    cad[b].push_back({a,c});
    priority_queue<pair<ll,ll>> q;
    vector<ll> v(cad.size()+1,-1);
    q.push({0,d});
    pair<ll,ll> asd={0,0};
    while(!q.empty())
    {
        pair<ll,ll> temp=q.top();q.pop();
        if(v[temp.second]==-1)
        {
            v[temp.second]=-temp.first;
            asd=max(asd,{v[temp.second],temp.second});
            for(auto i:cad[temp.second])
            {
                if(v[i.first]==-1)
                    q.push({temp.first-i.second,i.first});
            }
        }
    }
    cad[a].pop_back();
    cad[b].pop_back();
    return asd;
}
long long find_shortcut(int n, int l[], int d[], int C)
{
    cad.resize(2*n+5);
    for(int i=0; i<n-1; i++)
    {
        cad[i].push_back({i+1,l[i]});
        cad[i+1].push_back({i,l[i]});
        cad[i].push_back({n+i,d[i]});
        cad[n+i].push_back({i,d[i]});
    }
    cad[n-1].push_back({n-1+n,d[n-1]});
    cad[n-1+n].push_back({n-1,d[n-1]});
    ll ans=1e17;
    c=C;
    for(int i=0; i<n; i++)
    {
        for(int j=i+1; j<n; j++)
        {
            a=i;b=j;
            pair<ll,ll> temp=asd(0);
            pair<ll,ll> t1=asd(temp.second);
            temp=max(temp,t1);
            t1=asd(n-1);
            temp=max(temp,asd(t1.second));
            ans=min(ans,temp.first);
        }
    }
    return ans;
}

Compilation message (stderr)

shortcut.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
shortcut_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
/usr/bin/ld: /tmp/cceIdj8Y.o: in function `main':
grader.cpp:(.text.startup+0x129): undefined reference to `find_shortcut(int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, int)'
collect2: error: ld returned 1 exit status