제출 #922258

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
9222582024-02-05 10:00:51Beerus13공장들 (JOI14_factories)C++14
100 / 100
4462 ms372804 KiB
#include <bits/stdc++.h>
// #include "factories.h"
using namespace std;
#define ll long long
#define pii pair<int, ll>
const int N = 5e5 + 5;
const ll inf = 1e15;
int n, q, S, T, centroid;
int sz[N], vt[N];
vector<pii> g[N], ancestors[N];
bool del[N];
ll dp[N];
int dfs_size(int u, int p = 0) {
sz[u] = 1;
for(auto [v, w] : g[u]) if(v != p && !del[v]) {
sz[u] += dfs_size(v, u);
}
return sz[u];
}
int find_centroid(int u, int p, int num) {
for(auto [v, w] : g[u]) if(v != p && !del[v] && sz[v] > num / 2) return find_centroid(v, u, num);
return u;
}
void dfs_centroid(int u, int par, ll dis) {
for(auto [v, w] : g[u]) if(v != par && !del[v]) dfs_centroid(v, u, dis + w);
ancestors[u].emplace_back(centroid, dis);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

factories.cpp: In function 'int dfs_size(int, int)':
factories.cpp:17:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   17 |     for(auto [v, w] : g[u]) if(v != p && !del[v]) {
      |              ^
factories.cpp: In function 'int find_centroid(int, int, int)':
factories.cpp:24:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   24 |     for(auto [v, w] : g[u]) if(v != p && !del[v] && sz[v] > num / 2) return find_centroid(v, u, num);
      |              ^
factories.cpp: In function 'void dfs_centroid(int, int, long long int)':
factories.cpp:29:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   29 |     for(auto [v, w] : g[u]) if(v != par && !del[v]) dfs_centroid(v, u, dis + w);
      |              ^
factories.cpp: In function 'void decomposition(int)':
factories.cpp:37:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   37 |     for(auto [v, w] : g[centroid]) {
      |              ^
factories.cpp: In function 'void add(int)':
factories.cpp:43:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   43 |     for(auto [v, w] : ancestors[u]) dp[v] = min(dp[v], w);
      |              ^
factories.cpp: In function 'void remove(int)':
factories.cpp:47:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   47 |     for(auto [v, w] : ancestors[u]) dp[v] = inf;
      |              ^
factories.cpp: In function 'long long int get(int)':
factories.cpp:52:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   52 |     for(auto [v, w] : ancestors[u]) ans = min(ans, w + dp[v]);
      |              ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...