#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
#define TreeNode dummy_TreeNode
struct TreeNode{
}
;
#undef TreeNode
int sz;
int s[ 10000 ] ;
void solve( TreeNode * n, int dep) {
if ( n== NULL ) {
return ;
}
if ( sz == dep) {
s[ sz++ ] = 0 ;
}
s[ dep] + = n- > val;
solve( n- > left, dep+ 1 ) ;
solve( n- > right, dep+ 1 ) ;
}
class Solution{
public :
int deepestLeavesSum( TreeNode* root) {
sz = 0 ;
solve( root, 0 ) ;
return s[ sz- 1 ] ;
}
}
;
// cLay varsion 20200217-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// #define TreeNode dummy_TreeNode
// struct TreeNode {};
// #undef TreeNode
//
// int sz, s[1d4];
//
// void solve(TreeNode *n, int dep){
// if(n==NULL) return;
// if(sz == dep) s[sz++] = 0;
// s[dep] += n->val;
// solve(n->left, dep+1);
// solve(n->right, dep+1);
// }
//
// class Solution {
// public:
// int deepestLeavesSum(TreeNode* root) {
// sz = 0;
// solve(root, 0);
// return s[sz-1];
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KI2RlZmluZSBUcmVlTm9kZSBkdW1teV9UcmVlTm9kZQpzdHJ1Y3QgVHJlZU5vZGV7Cn0KOwojdW5kZWYgVHJlZU5vZGUKaW50IHN6OwppbnQgc1sxMDAwMF07CnZvaWQgc29sdmUoVHJlZU5vZGUgKm4sIGludCBkZXApewogIGlmKG49PU5VTEwpewogICAgcmV0dXJuOwogIH0KICBpZihzeiA9PSBkZXApewogICAgc1tzeisrXSA9IDA7CiAgfQogIHNbZGVwXSArPSBuLT52YWw7CiAgc29sdmUobi0+bGVmdCwgZGVwKzEpOwogIHNvbHZlKG4tPnJpZ2h0LCBkZXArMSk7Cn0KY2xhc3MgU29sdXRpb257CiAgcHVibGljOgogIGludCBkZWVwZXN0TGVhdmVzU3VtKFRyZWVOb2RlKiByb290KXsKICAgIHN6ID0gMDsKICAgIHNvbHZlKHJvb3QsIDApOwogICAgcmV0dXJuIHNbc3otMV07CiAgfQp9CjsKLy8gY0xheSB2YXJzaW9uIDIwMjAwMjE3LTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gI2RlZmluZSBUcmVlTm9kZSBkdW1teV9UcmVlTm9kZQovLyBzdHJ1Y3QgVHJlZU5vZGUge307Ci8vICN1bmRlZiBUcmVlTm9kZQovLyAKLy8gaW50IHN6LCBzWzFkNF07Ci8vIAovLyB2b2lkIHNvbHZlKFRyZWVOb2RlICpuLCBpbnQgZGVwKXsKLy8gICBpZihuPT1OVUxMKSByZXR1cm47Ci8vICAgaWYoc3ogPT0gZGVwKSBzW3N6KytdID0gMDsKLy8gICBzW2RlcF0gKz0gbi0+dmFsOwovLyAgIHNvbHZlKG4tPmxlZnQsIGRlcCsxKTsKLy8gICBzb2x2ZShuLT5yaWdodCwgZGVwKzEpOwovLyB9Ci8vIAovLyBjbGFzcyBTb2x1dGlvbiB7Ci8vIHB1YmxpYzoKLy8gICBpbnQgZGVlcGVzdExlYXZlc1N1bShUcmVlTm9kZSogcm9vdCkgewovLyAgICAgc3ogPSAwOwovLyAgICAgc29sdmUocm9vdCwgMCk7Ci8vICAgICByZXR1cm4gc1tzei0xXTsKLy8gICB9Ci8vIH07Cg==
compilation info
prog.cpp:16:12: error: variable or field ‘solve’ declared void
void solve(TreeNode *n, int dep){
^~~~~~~~
prog.cpp:16:12: error: ‘TreeNode’ was not declared in this scope
prog.cpp:16:12: note: suggested alternative: ‘remove’
void solve(TreeNode *n, int dep){
^~~~~~~~
remove
prog.cpp:16:22: error: ‘n’ was not declared in this scope
void solve(TreeNode *n, int dep){
^
prog.cpp:16:25: error: expected primary-expression before ‘int’
void solve(TreeNode *n, int dep){
^~~
prog.cpp:29:24: error: ‘TreeNode’ has not been declared
int deepestLeavesSum(TreeNode* root){
^~~~~~~~
prog.cpp: In member function ‘int Solution::deepestLeavesSum(int*)’:
prog.cpp:31:5: error: ‘solve’ was not declared in this scope
solve(root, 0);
^~~~~
stdout