1 条题解

  • 0
    @ 2025-8-24 22:11:55

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Pisces
    AFO || QwQ

    搬运于2025-08-24 22:11:55,当前版本为作者最后更新于2019-09-12 19:09:21,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    这题真的太水了,直接递归输入都不会被卡掉

    然后直接暴力取最大值即可

    CodeCode:

    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    inline int read(){//快读
    	int X=0;bool d=0;char ch=0;
    	while(!isdigit(ch)) d|=ch=='-',ch=getchar();
    	while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();
    	return d?-X:X;
    }
    short n=read();
    int dfs(int x,short dep){
    	if(dep==n) return read();//输入完毕,退出递归
    	return read()+max(dfs(x<<1,dep+1),dfs(x<<1|1,dep+1));//取最大
    }
    signed main(){
    	cout<<dfs(1,1);
    	return 0;
    }
    
    • 1

    信息

    ID
    3762
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者