当前位置:首页 > 题解目录 > 正文内容

【题解】取数

亿万年的星光3年前 (2023-05-20)题解目录3235

【题目描述】

设有N 个正整数(1 <= N <= 50),其中每一个均是大于等于1、小于等于300的数。
从这N个数中任取出若干个数(不能取相邻的数),要求得到一种取法,使得到的和为最大。
例如:当N=5时,有5个数分别为:13,18,28,45,21
此时,有许多种取法,如: 13,28,21 和为62
13, 45 和为58
18,45 和为63
……….

和为63应该是满足要求的一种取法

【输入描述】

第一行是一个整数N
第二行有N个符合条件的整数。

【输出描述】

一个整数,即最大和

【样例输入】

5
13 18 28 45 21

【样例输出】

63

【题目分析】


【参考答案】

#include<bits/stdc++.h>
using namespace std;
int a[51],f[51];
int main(){
	int n,i;
	cin>>n;
	for(i=1;i<=n;i++){
		cin>>a[i];
	}
	f[1] = a[1];
	f[2] = a[2];
	for(i=3;i<=n;i++){
		f[i] = max(f[i-2],f[i-3]) + a[i];
	}
	cout<<max(f[n-1],f[n]);
	return 0;
}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    【题解】Crossing River

    【题目描述】几个人过河,每次过两人一人回,速度由慢者决定,问过河所需最短时间。【输入描述】输入t组数据,每组数据第1行输入n,第2行输入n个数,表示每个人过河的时间。【输出描述】输出t行数据,每行1个...

    字符串移位包含问题

    【题目描述】对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两个字符串 s_1s1 和 s_2s2,要求判定其中一个字符串是...

    【题解】找零钱—动态规划

    给定一些人民币的面额,数量不限,要求找出金额为m元且人民币张数最少的方案。这个问题既可以是一个贪心问题也可以是一个动态规划的问题。对于现行的人民币面额:1、2、5、10、20、50、100,我们找任何...

    【题解】分发饼干

    【题目描述】假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;...

    进制转换(1)

    【题目描述】毛毛是个健忘的孩子,编程课上老师刚讲过进制转换的问题,她又忘了。请你帮他编写一个程序,完成一个浮点数与二进制之间的相互转换【输入描述】两个数字,第一个数字表示要转换的数字,浮点型。第二个是...

    【题解】日期排序

    【题目描述】有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。【输入描述】无【输出描述】无【样例输入】15/12/1999 10/21/2003 10/22/2003 02...