提出 #63129366
ソースコード 拡げる
// जय श्री राम
/*
Terence Tao: If you can't solve a problem, try to solve a simpler problem.
Richard P. Feynman: You don't need to have some magic to understand complex things. People just work really really hard.
*/
#pragma GCC optimize("O3,unroll-loops")
#include<bits/stdc++.h>
#ifndef ONLINE_JUDGE
#include<algo/debug.cpp>
#else
#define debug(...)
#define debugArr(...)
#endif
using namespace std;
const int N = 200001;
int n;
vector<vector<int>> tree(N+1, vector<int>());
vector<int> contri(N+1, 0);
int ans = 0;
void dfs(int node, int par) {
for(auto& child : tree[node]) {
if(child == par)
continue;
dfs(child, node);
}
vector<int> vals;
for(auto& child : tree[node]) {
if(child == par)
continue;
vals.push_back(contri[child]);
}
sort(vals.rbegin(), vals.rend());
if(vals.size() >= 4) {
ans = max(ans, 1 + vals[0] + vals[1] + vals[2] + vals[3]);
contri[node] = 1 + vals[0] + vals[1] + vals[2];
} else if(vals.size() == 3) {
contri[node] = 1 + vals[0] + vals[1] + vals[2];
if(vals[0] >= 4)
ans = max(ans, 1 + vals[0]);
} else if(vals.size() >= 1) {
contri[node] = 1;
if(vals[0] >= 4)
ans = max(ans, 1 + vals[0]);
} else {
contri[node] = 1;
}
debug(node, vals, contri[node]);
}
void solve() {
cin >> n;
int v1,v2;
for(int i=1;i<n;i++) {
cin >> v1 >> v2;
tree[v1].push_back(v2);
tree[v2].push_back(v1);
}
dfs(1,-1);
if(ans == 0)
ans = -1;
cout << ans << "\n";
}
int main() {
#ifdef case3_local
auto begin = std::chrono::high_resolution_clock::now();
#endif
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t=1;
// cin >> t;
while(t--) {
solve();
}
#ifdef case3_local
auto end = std::chrono::high_resolution_clock::now();
cerr << setprecision(4) << fixed;
cerr << "Execution time: " << std::chrono::duration_cast<std::chrono::duration<double>>(end - begin).count() << " seconds" << endl;
#endif
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Alkane |
| ユーザ | case3 |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 500 |
| コード長 | 2259 Byte |
| 結果 | AC |
| 実行時間 | 124 ms |
| メモリ | 35656 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample00.txt, sample01.txt, sample02.txt |
| All | hand00.txt, hand01.txt, hand02.txt, hand03.txt, sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt, testcase36.txt, testcase37.txt, testcase38.txt, testcase39.txt, testcase40.txt, testcase41.txt, testcase42.txt, testcase43.txt, testcase44.txt, testcase45.txt, testcase46.txt, testcase47.txt, testcase48.txt, testcase49.txt, testcase50.txt, testcase51.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| hand00.txt | AC | 4 ms | 8496 KiB |
| hand01.txt | AC | 4 ms | 8480 KiB |
| hand02.txt | AC | 4 ms | 8396 KiB |
| hand03.txt | AC | 4 ms | 8504 KiB |
| sample00.txt | AC | 4 ms | 8460 KiB |
| sample01.txt | AC | 4 ms | 8432 KiB |
| sample02.txt | AC | 4 ms | 8496 KiB |
| testcase00.txt | AC | 4 ms | 8456 KiB |
| testcase01.txt | AC | 4 ms | 8496 KiB |
| testcase02.txt | AC | 4 ms | 8472 KiB |
| testcase03.txt | AC | 4 ms | 8432 KiB |
| testcase04.txt | AC | 65 ms | 14104 KiB |
| testcase05.txt | AC | 72 ms | 15020 KiB |
| testcase06.txt | AC | 22 ms | 10968 KiB |
| testcase07.txt | AC | 74 ms | 14944 KiB |
| testcase08.txt | AC | 22 ms | 10948 KiB |
| testcase09.txt | AC | 76 ms | 14956 KiB |
| testcase10.txt | AC | 28 ms | 14440 KiB |
| testcase11.txt | AC | 85 ms | 23400 KiB |
| testcase12.txt | AC | 32 ms | 11712 KiB |
| testcase13.txt | AC | 74 ms | 14960 KiB |
| testcase14.txt | AC | 58 ms | 13544 KiB |
| testcase15.txt | AC | 77 ms | 14960 KiB |
| testcase16.txt | AC | 69 ms | 14388 KiB |
| testcase17.txt | AC | 76 ms | 14928 KiB |
| testcase18.txt | AC | 81 ms | 14696 KiB |
| testcase19.txt | AC | 74 ms | 14928 KiB |
| testcase20.txt | AC | 35 ms | 12256 KiB |
| testcase21.txt | AC | 74 ms | 14852 KiB |
| testcase22.txt | AC | 68 ms | 27288 KiB |
| testcase23.txt | AC | 124 ms | 35656 KiB |
| testcase24.txt | AC | 75 ms | 14332 KiB |
| testcase25.txt | AC | 77 ms | 14960 KiB |
| testcase26.txt | AC | 35 ms | 12000 KiB |
| testcase27.txt | AC | 91 ms | 14540 KiB |
| testcase28.txt | AC | 78 ms | 14332 KiB |
| testcase29.txt | AC | 87 ms | 14908 KiB |
| testcase30.txt | AC | 69 ms | 14080 KiB |
| testcase31.txt | AC | 86 ms | 14920 KiB |
| testcase32.txt | AC | 35 ms | 12072 KiB |
| testcase33.txt | AC | 89 ms | 14876 KiB |
| testcase34.txt | AC | 16 ms | 10180 KiB |
| testcase35.txt | AC | 83 ms | 14932 KiB |
| testcase36.txt | AC | 32 ms | 11636 KiB |
| testcase37.txt | AC | 83 ms | 14936 KiB |
| testcase38.txt | AC | 41 ms | 12536 KiB |
| testcase39.txt | AC | 90 ms | 14956 KiB |
| testcase40.txt | AC | 72 ms | 13876 KiB |
| testcase41.txt | AC | 95 ms | 14912 KiB |
| testcase42.txt | AC | 28 ms | 11448 KiB |
| testcase43.txt | AC | 95 ms | 14932 KiB |
| testcase44.txt | AC | 71 ms | 13852 KiB |
| testcase45.txt | AC | 85 ms | 14952 KiB |
| testcase46.txt | AC | 29 ms | 11236 KiB |
| testcase47.txt | AC | 86 ms | 14908 KiB |
| testcase48.txt | AC | 20 ms | 10380 KiB |
| testcase49.txt | AC | 86 ms | 14916 KiB |
| testcase50.txt | AC | 82 ms | 14688 KiB |
| testcase51.txt | AC | 83 ms | 14920 KiB |