Submission #725315

# Submission time Handle Problem Language Result Execution time Memory
725315 2023-04-17T08:39:16 Z onepunchac168 Crocodile's Underground City (IOI11_crocodile) C++14
100 / 100
473 ms 76508 KB
#include "crocodile.h"
#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define pb push_back
#define ll long long
typedef pair <ll,ll> ii;
typedef pair <ll ,ii> iii;
const char nl='\n';
ii dp[100005][2];
vector <int > gg;
vector <ii> vt[100005];
int n;
int dijkstra()
{
    for (int i=0;i<n;i++)
    {
        dp[i][0]=dp[i][1]={1e18+5,-1};
    }
    priority_queue<iii,vector <iii> ,greater <iii> > qu;
    for (auto v:gg)
    {
        dp[v][0]=dp[v][1]={0,-1};
        qu.push({0,{v,1}});
    }
    while (!qu.empty())
    {
        int aa=qu.top().fi;
        int u=qu.top().se.fi;
        int pos=qu.top().se.se;
        qu.pop();
        if (u==0&&pos==1)
        {
            return aa;
        }
        if (aa!=dp[u][pos].fi){continue;}
        for (auto v:vt[u])
        {
            if (dp[v.fi][0].fi>dp[u][pos].fi+v.se)
            {
                if (dp[v.fi][1].fi>dp[v.fi][0].fi)
                {
                    dp[v.fi][1]=dp[v.fi][0];
                    dp[v.fi][0]={dp[u][pos].fi+v.se,u};
                    qu.push({dp[v.fi][1].fi,{v.fi,1}});
                }
                else
                {
                    dp[v.fi][0]={dp[u][pos].fi+v.se,u};
                }

            }
            else if (dp[v.fi][1].fi>dp[u][pos].fi+v.se)
            {
                dp[v.fi][1]={dp[u][pos].fi+v.se,u};
                qu.push({dp[v.fi][1].fi,{v.fi,1}});
            }
        }

    }

}
int travel_plan(int N, int M, int R[][2], int L[], int K, int P[])
{
    n=N;
    for (int i=0;i<M;i++)
    {
        int aa=R[i][0];
        int bb=R[i][1];
        int cc=L[i];
        vt[aa].pb({bb,cc});
        vt[bb].pb({aa,cc});
    }
    for (int i=0;i<K;i++)
    {
        gg.pb(P[i]);
    }
    return dijkstra();

}

Compilation message

crocodile.cpp: In function 'int dijkstra()':
crocodile.cpp:22:54: warning: control reaches end of non-void function [-Wreturn-type]
   22 |     priority_queue<iii,vector <iii> ,greater <iii> > qu;
      |                                                      ^~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 2 ms 2644 KB Output is correct
3 Correct 2 ms 2644 KB Output is correct
4 Correct 2 ms 2784 KB Output is correct
5 Correct 2 ms 2772 KB Output is correct
6 Correct 3 ms 2772 KB Output is correct
7 Correct 3 ms 2772 KB Output is correct
8 Correct 3 ms 2772 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 2 ms 2644 KB Output is correct
3 Correct 2 ms 2644 KB Output is correct
4 Correct 2 ms 2784 KB Output is correct
5 Correct 2 ms 2772 KB Output is correct
6 Correct 3 ms 2772 KB Output is correct
7 Correct 3 ms 2772 KB Output is correct
8 Correct 3 ms 2772 KB Output is correct
9 Correct 4 ms 3028 KB Output is correct
10 Correct 2 ms 2644 KB Output is correct
11 Correct 2 ms 2772 KB Output is correct
12 Correct 5 ms 3284 KB Output is correct
13 Correct 6 ms 3412 KB Output is correct
14 Correct 2 ms 2644 KB Output is correct
15 Correct 2 ms 2772 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 2 ms 2644 KB Output is correct
3 Correct 2 ms 2644 KB Output is correct
4 Correct 2 ms 2784 KB Output is correct
5 Correct 2 ms 2772 KB Output is correct
6 Correct 3 ms 2772 KB Output is correct
7 Correct 3 ms 2772 KB Output is correct
8 Correct 3 ms 2772 KB Output is correct
9 Correct 4 ms 3028 KB Output is correct
10 Correct 2 ms 2644 KB Output is correct
11 Correct 2 ms 2772 KB Output is correct
12 Correct 5 ms 3284 KB Output is correct
13 Correct 6 ms 3412 KB Output is correct
14 Correct 2 ms 2644 KB Output is correct
15 Correct 2 ms 2772 KB Output is correct
16 Correct 385 ms 68496 KB Output is correct
17 Correct 64 ms 15928 KB Output is correct
18 Correct 80 ms 18224 KB Output is correct
19 Correct 473 ms 76508 KB Output is correct
20 Correct 278 ms 55016 KB Output is correct
21 Correct 33 ms 8764 KB Output is correct
22 Correct 280 ms 50416 KB Output is correct