# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
365360 | 2021-02-11T14:14:33 Z | FatihSolak | Mag (COCI16_mag) | C++17 | 22 ms | 23916 KB |
#include <bits/stdc++.h> #define N 1000005 using namespace std; vector<int> adj[N]; int arr[N]; int down[N]; int up[N]; int maxi = 0,mini = 1e9; void dfs(int v,int p){ for(auto u:adj[v]){ if(u == p)continue; dfs(u,v); if(arr[u] == 1){ down[v] += down[u] + 1; } } } void dfs2(int v,int p){ if(arr[p] == 1){ up[v] = up[p] + 1; if(arr[v] == 1){ up[v] = max(up[v], down[p] - down[v]); } else up[v] = max(up[v], down[p]+1); } for(auto u:adj[v]){ if(u == p)continue; dfs2(u,v); } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); int n; cin >> n; for(int i=1;i<n;i++){ int u,v; cin >> u >> v; adj[u].push_back(v); adj[v].push_back(u); } for(int i=1;i<=n;i++){ cin >> arr[i]; } dfs(1,0); dfs2(1,0); for(int i=1;i<=n;i++){ if(arr[i] == 1){ maxi = max(maxi,2*(1+down[i]+up[i])); } if(arr[i] == 2){ maxi = max(maxi,down[i]+up[i]); } mini = min(mini,arr[i]); } if(maxi == 0){ cout << mini << "/"<<1; } else if(maxi & 1){ cout << 2 << "/" << maxi; } else cout << 1 << "/" << maxi/2; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 18 ms | 23916 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 17 ms | 23916 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 18 ms | 23916 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 22 ms | 23916 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 17 ms | 23916 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 18 ms | 23916 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 20 ms | 23916 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 17 ms | 23876 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 19 ms | 23916 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 19 ms | 23916 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |