3109 体验积分值

经验值:1200

时间限制:1000毫秒

内存限制:128MB

合肥市第34届信息学竞赛(2017年)

 不许抄袭,一旦发现,直接清空经验!

题目描述 Description

卡卡西和小朋友们做完了烧脑的数字游戏,决定放松一下,他们来到万达乐园,乐园中有很多的游玩项目,每玩一个项目就能获取一定的体验积分,不同的项目产生不同体验积分,假设乐园所有游乐项目正好排成一排,并且游客们不能游玩任意相邻两个项目,那么卡卡西如何挑选游玩项目,使得这次万达行他能获得最多的体验积分值呢。

输入描述 Input Description

输入 共两行, 第一行是个正整数 n,表示万达乐园的游项目数 。

第 二行是 n个用空格隔开的正整数 ,分别表示每个游乐项目的体验积值 。

输出描述 Output Description

输出只有一个正整数,为最多的体验积分值。

样例输入 Sample Input

输入样例1: 5 3 10 8 20 21 输入样例2: 5 3 17 8 20 21

样例输出 Sample Output

输出样例1: 32 输出样例2: 38

数据范围及提示 Data Size & Hint

样例1说明:
一共 5个游玩项目,卡卡西选择第一、三和第五个游玩,可获得 3+8+21=32的体验积分值。

样例2说明:
一共 5个游玩项目,卡卡西选择第二和第五个游玩,可获得17+21=38的体验积分值。

数据范围 :
5≤n≤1000 ;
1≤每个游玩项目体验积分值≤500

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值