数列分段(信息学奥赛一本通-T1428)

2024-06-17 20:32

本文主要是介绍数列分段(信息学奥赛一本通-T1428),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【题目描述】

对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求。

【输入】

第1行包含两个正整数N,M,表示了数列A[i]的长度与每段和的最大值;

第2行包含N个空格隔开的非负整数A[i],如题目所述。

【输出】

一个正整数,输出最少划分的段数。

【输入样例】

5 6 
4 2 4 5 1

【输出样例】

3

【源程序】

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 100000+5;
const int dx[] = {-1,1,0,0,-1,-1,1,1};
const int dy[] = {0,0,-1,1,-1,1,-1,1};
using namespace std;
int a[N];
int main(){int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d",&a[i]);int sum=0;int res=1;for(int i=1;i<=n;i++){if(sum+a[i]>m){sum=a[i];res++;}elsesum+=a[i];}printf("%d\n",res);return 0;
}

这篇关于数列分段(信息学奥赛一本通-T1428)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070435

相关文章

数据结构:二叉树详解 c++信息学奥赛基础知识讲解

目录 一、二叉树的定义 二、二叉树的形态 三、二叉树的性质 四、二叉树的存储 五、二叉树的创建与遍历(递归) 六、二叉树实现 创建二叉树 展示二叉树 1、计算数的高度 2、计算数的叶子数量 3、计算数的宽度 4、层次遍历 5、前序遍历 递归写法 非递归写法 6、中序遍历 递归写法 非递归写法 7、后序遍历 递归写法 非递归写法 8、输出根节点到所有叶

2024全国各地高考录取分数线一览表(含一本、二本、专科)

2024年高考录取分数线陆续公布,上大学网(www.sdaxue.com)为大家整理全国31个省市高考录取分数线汇总,包括本科批、专科批和特殊类招生控制分数线汇总,来看看你的省份多少分能上大学吧。 一、2024年全国高考录取线一览表 1、宁夏 一本线:文科496分、理科432分; 二本线:文科419分、理科371分; 专科线:文理科均为200分。 2、云南 一本线:文科550分、

c#编程:有一个分数序列,2/1,3/2,5/3,8/5,13/8,21/13....找出数列的规律并求出其前30项的和

using System;using System.Collections.Generic;using System.Linq;using System.Text;//有一个分数序列,2/1,3/2,5/3,8/5,13/8,21/13....找出数列的规律并求出其前30项的和namespace ans1{class Program{static void Main(string[]

2024.06.23【读书笔记】丨生物信息学与功能基因组学(第十七章 人类基因组 第四部分)【AI测试版】

第四部分:人类基因组的伦理、法律和社会问题(ELSI) 摘要: 本部分探讨了人类基因组计划所引发的伦理、法律和社会问题(ELSI),这些问题涉及基因信息的所有权、隐私权、基因歧视以及基因技术在社会中的运用等方面。 学习目标: 理解人类基因组计划实施过程中所引发的ELSI问题。掌握基因信息的伦理学考量,包括隐私保护和数据共享。学习基因技术在医疗、法律和社会层面的应用及其带来的挑战。 正文

LeetCode665.非递减数列

LeetCode刷题记录 文章目录 📜题目描述💡解题思路⌨C++代码 📜题目描述 给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例1

2024.06.22【读书笔记】丨生物信息学与功能基因组学(第十七章 人类基因组 第二部分)【AI测试版】

第二部分:人类基因组的主要结论与网络资源 摘要: 第二部分深入总结了人类基因组计划的关键发现,并介绍了用于探索人类基因组的网络资源。这些结论不仅为我们理解人类生物学提供了新的视角,而且揭示了人类基因组的复杂性和动态性。 学习目标: 掌握人类基因组计划的主要科学结论。熟悉人类基因组中基因的数量和复杂性。了解人类基因组中非编码区域的功能和重要性。学习如何利用网络资源进行人类基因组数据的检索和分

[CQU 21466] zzblack与斐波那契数列 (矩阵快速幂)

CQU - 21466 求 f(⌈(5√+12)2m⌉) f( \lceil {(\frac {\sqrt{5}+1} {2})}^{2m} \rceil )%2238065148 其中 f(n) f(n)是 Fibonacci Fibonacci数列的第 n项 首先要求项数,一看 m很大,肯定是快速幂 但是底数是个浮点数,肯定不能直接快速幂 所以要给底数加一个 (5√

2024.06.20【读书笔记】丨生物信息学与功能基因组学(第十六章 真核生物基因组 第三部分)【AI测试版】

了解到您的需求,现在我将为您撰写关于《生物信息学与功能基因组学》的第三部分读书笔记。 《生物信息学与功能基因组学》第十六章读书笔记(第三部分) 正文(续) 真核基因组的重复性DNA序列 真核基因组中的重复性DNA序列是其结构的重要组成部分。这些序列可以根据重复单元的大小和分布模式被分类为卫星DNA、微卫星DNA和矿物DNA等。它们在染色体的结构稳定性、基因表达调控以及物种进化中扮演着重要角

【信息学奥赛】CSP-J/S初赛04 进制转换相关问题(二、八、十六进制与十进制互相转换)

​ 大家好,我是bigbigli,今天我们学习初赛中常考的一个数学内容——进制转换 进制转换 常用的数制 权:数制中某一位上的1所表示的数值的大小,比如十进制中的123,1的位权是100,2的位权是10,3的位权是1。 进制基数基数个数进数规律十进制0 1 2 3 4 5 6 7 8 910逢十进一二进制0 12逢二进一八进制0 1 2 3 4 5 6 78逢八进一十六进制0 1

普通一本能找到嵌入式linux工作吗?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式linux的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!首先,普通一本这个学历是能找到嵌入式Linux工作的,之前碰到过很多和楼主一样双非一本然后纠结入行嵌入式的学历门槛。相比于学历,其实最最重要的还是你个人的综合能力,学历只是找工作的敲门砖,决定你未来职业生涯走多