제출 #449610

#제출 시각아이디문제언어결과실행 시간메모리
449610Karliver악어의 지하 도시 (IOI11_crocodile)C++14
46 / 100
145 ms262148 KiB
#include "crocodile.h" #include <bits/stdc++.h> #define FIXED_FLOAT(x) std::fixed <<std::setprecision(20) << (x) #define all(v) (v).begin(), (v).end() using namespace std; #define forn(i,n) for (int i = 0; i < (n); ++i) #define rforn(i, n) for(int i = (n) - 1;i >= 0;--i) using ll = long long; int mod = (ll)1e9 + 7; #define PI acos(-1) typedef pair<int, int> pairs; const ll INF = 1e9 + 100; const int N = 2000; const double eps = 1e-7; template <class T> using V = vector<T>; template <class T> using VV = V<V<T>>; template <typename XPAX> void ckma(XPAX &x, XPAX y) { x = (x < y ? y : x); } template <typename XPAX> void ckmi(XPAX &x, XPAX y) { x = (x > y ? y : x); } V<pairs> g[N]; int travel_plan(int n, int m, int R[][2], int L[], int K, int P[]) { forn(i, m) { g[R[i][0]].emplace_back(R[i][1], L[i]); g[R[i][1]].emplace_back(R[i][0], L[i]); } V<bool> exit(n, false); forn(i, K) exit[P[i]] = 1; V<int> dp1(n, INF), dp2(n, INF); function<void(int, int)>dfs = [&](int v, int p) { if(exit[v]) { dp1[v] = 0; dp2[v] = 0; return; } for(auto [c, w] : g[v]) { if(c == p) continue; dfs(c, v); int x = w + dp2[c]; if(x < dp1[v]) { swap(dp1[v], dp2[v]); dp1[v] = x; } else if(x < dp2[v]) dp2[v] = x; } }; dfs(0, -1); return dp2[0]; }

컴파일 시 표준 에러 (stderr) 메시지

crocodile.cpp: In lambda function:
crocodile.cpp:51:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   51 |     for(auto [c, w] : g[v]) {
      |              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...