제출 #856461

#제출 시각아이디문제언어결과실행 시간메모리
856461ttamxMuseum (CEOI17_museum)C++14
100 / 100
417 ms784976 KiB
#include<bits/stdc++.h> using namespace std; const int N=10005; const int inf=1e9; int n,k,x; vector<pair<int,int>> adj[N]; int dp[2][N][N]; int sz[N]; void dfs(int u,int p=-1){ sz[u]=1; for(auto [v,w]:adj[u])if(v!=p){ dfs(v,u); for(int i=sz[u];i>=0;i--){ for(int j=sz[v];j>=0;j--){ dp[0][u][i+j]=min(dp[0][u][i+j],dp[0][u][i]+dp[0][v][j]+w*2); dp[1][u][i+j]=min(dp[1][u][i+j],dp[1][u][i]+dp[0][v][j]+w*2); dp[1][u][i+j]=min(dp[1][u][i+j],dp[0][u][i]+dp[1][v][j]+w); } } sz[u]+=sz[v]; } } int main(){ cin.tie(nullptr)->sync_with_stdio(false); cin >> n >> k >> x; for(int i=1;i<n;i++){ int u,v,w; cin >> u >> v >> w; adj[u].emplace_back(v,w); adj[v].emplace_back(u,w); } for(int i=1;i<=n;i++)for(int j=2;j<=n;j++)dp[0][i][j]=dp[1][i][j]=inf; dfs(x); cout << dp[1][x][k]; }

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

museum.cpp: In function 'void dfs(int, int)':
museum.cpp:15:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   15 |     for(auto [v,w]:adj[u])if(v!=p){
      |              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...