Submission #1283512

#TimeUsernameProblemLanguageResultExecution timeMemory
1283512Faisal_Saqib악어의 지하 도시 (IOI11_crocodile)C++20
Compilation error
0 ms0 KiB
#include "crocodile.h" #include "grader.cpp" #include <bits/stdc++.h> using namespace std; #define ll long long const int QK=1e5+100,inf=1e9; int n,k; ll dist[QK],sp[QK]; ll dp[QK][5]; vector<pair<int,int>> adj[QK]; void dykstra(){ for(int i=0;i<=n;i++) { dp[i][0]=inf; dp[i][1]=inf; dist[i]=inf; } priority_queue<pair<ll,ll>,vector<pair<ll,ll>>,greater<pair<ll,ll>>> pq; for(int j=0;j<k;j++){ dist[sp[j]]=0; pq.push({0,sp[j]}); } while(!pq.empty()){ auto [d,u]=pq.top();pq.pop(); if(d>dist[u])continue; for(auto [v,w]:adj[u]){ if(dist[v]>dist[u]+w){ dist[v]=dist[u]+w; pq.push({dist[v],v}); } } } } void calculate(){ // dp[u] = answer if we start at u // // ord of {(dist,node)} // dp[node][0] = min(dist[nei][0]) // dp[node][1] = 2min(dist[nei][0]) vector<pair<ll,int>> ord; for(int i=0;i<n;i++) ord.push_back({dist[i],i}); sort(ord.begin(),ord.end()); for(int i=0;i<10;i++) { for(auto [d,u]:ord){ auto it=lower_bound(sp,sp+k,u); if(it!=sp+k && *it==u){ dp[u][0]=0; continue; } vector<ll> curp; for(auto [v,w]:adj[u]){ curp.push_back(dp[v][0]+w); } sort(begin(curp),end(curp)); dp[v][0]=min(dp[v][0],curp[1]); } } } int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { n=N,k=K; for(int i=0;i<K;i++) sp[i]=P[i]; sort(sp,sp+K); for(int i=0;i<M;i++){ int u=R[i][0],v=R[i][1],l=L[i]; adj[u].push_back({v,l}); adj[v].push_back({u,l}); } dykstra(); calculate(); return dp[0][0]; }

Compilation message (stderr)

crocodile.cpp: In function 'void calculate()':
crocodile.cpp:59:10: error: 'v' was not declared in this scope
   59 |       dp[v][0]=min(dp[v][0],curp[1]);
      |          ^