#5373. 打家劫舍

打家劫舍

题目描述

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统:如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。

给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。

输入格式

第一行一个正整数 nn,代表房屋的数量。 第二行包含 nn 个用空格分隔的非负整数,依次代表每间房屋内存放的现金金额。

输出格式

输出一行一个整数,代表能够偷窃到的最高金额。

样例 #1

样例输入 #1

4
1 2 3 1

样例输出 #1

4

样例解释 #1

偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4。

样例 #2

样例输入 #2

5
2 7 9 3 1

样例输出 #2

12

样例解释 #2

偷窃 1 号房屋(金额 = 2),偷窃 3 号房屋(金额 = 9),接着偷窃 5 号房屋(金额 = 1)。 偷窃到的最高金额 = 2 + 9 + 1 = 12。

数据范围

  • 1n1001 \le n \le 100
  • 0ai4000 \le a_i \le 400,其中 aia_i 为第 ii 间房屋存放的现金金额