买地攻略
数码城市有土地出售。待售的土地被划分成若干块,每一块标有一个价格。这里假设每块土地只有两块相邻的土地,除了开头和结尾的两块是只有一块邻居的。每位客户可以购买多块连续相邻的土地。
现给定这一系列土地的标价,请你编写程序,根据客户手头的现金量,告诉客户有多少种不同的购买方案。
时间限制:8000
内存限制:262144
输入
输入首先在第一行给出两个正整数:N(≤ 104)为土地分割的块数(于是这些块从 1 到 N 顺次编号);M(≤ 109)为客户手中的现金量。 随后一行给出 N 个正整数,其中第 i 个数字就是第 i 块土地的标价。 题目保证所有土地的总价不超过 109。
输出
在一行中输出客户有多少种不同的购买方案。请注意客户只能购买连续相邻的土地。
样例输入
5 85 38 42 15 24 9
样例输出
11
提示
样例解释: 这 11 种不同的方案为: 38 42 15 24 9 38 42 42 15 42 15 24 15 24 15 24 9 24 9
相似题推荐
画作
题目描述
墙上,挂着一幅由 n×n 个彩色方格组成的画作。画作的内容可以用一个 n×n 的字符矩阵来表示。
现在想要将这幅画顺时针旋转 90 度后重新悬挂,请你他计算出旋转后的画作是什么样的。
输入格式
第一行,一个整数表示 n
接下来 n 行,每行 n 个字符。
输出格式
输出 n 行,每行 n 个字符,表示顺时针旋转 90 度后的矩阵。
输入样例#1
4 ooxx xoox xxxx xxxx
输出样例#1
xxxo xxoo xxox xxxx
输入样例#2
2 12 34
输出样例#2
31 42
说明提示
1≤n≤1000
花坛
题目描述
花坛里有 n 朵花,每朵花的编号为 1,2,…,n。初始时,所有花的高度都是 0。
现在给定一个数列 h={h1,h2,…,hn},你可以重复进行如下的浇水操作,每次操作:任选一段连续区间 [l,r],区间内每朵花高度加 1。可以无限重复该操作,使得第 k 朵花的最终高度恰好为 hk(1≤k≤n)。
求完成目标需要的最小操作浇水次数。
输入格式
第一行一个整数,表示花的数量 n
第二行 n 个整数,依次表示每朵花需要达到的目标高度 h1,h2,…,hn
输出格式
输出一个整数,表示达成目标所需的最少浇水操作次数。
输入样例#1
5 3 1 2 3 1
输出样例#1
5
输入样例#2
8 4 23 75 0 23 96 50 100
输出样例#2
221
说明提示
1≤n≤100
0≤hi≤100
所有输入均为整数
