当前位置: 首页 > news >正文

codeforces B. Large Array and Segments

题目简述:

给定一个长度为n的数组,以及两个整数k和p,该数组可以通过复制在增加长度,可以复制k次,我们最后要找到保证后缀和至少为p的首元结点的数量

思路简述:

找到有多少个完整的原数组n,最后单独除了最后一个不完整的数组n即可; 

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+10;
int a[N];
void solve()
{
	int n,k,p,cnt=0;
	cin >> n >> k >> p;
	for(int i=1;i<=n;i++)
	cin >> a[i];
	for(int i=1;i<=n;i++)
	a[i]=a[i-1]+a[i];//预处理前缀和
	int b=a[n]*k-p;//a[n]*k是全部的,p是最低限度,二者相减是符合条件的区间和的最大值
	if(b<0)
	{
		cout << 0 << endl;
		return ;
	}
	int c=b/a[n];
	int d=b-a[n]*c;
	int i;
	for(i=1;i<=n;i++)
	{
		if(a[i]>d)break;
	}
//	cout << a[i]<< ' ' << d << ' ' << a[i-1] << endl;
//	cout << i << endl;
	cout << c*n+i<<endl;
}
signed main()
{
	int q;
	cin >> q;
	while(q--)
	solve();   
}

http://www.dtcms.com/a/117801.html

相关文章:

  • 【漫话机器学习系列】184.正态分布(Normal Distribution)
  • 青少年编程与数学 02-015 大学数学知识点 05课题、优化理论
  • zk源码—2.通信协议和客户端原理二
  • QML和C++交互
  • 压测工具开发实战篇(四)——client子窗口功能
  • 高德地图 3D 渲染-区域纹理图添加
  • IntelliJ IDEA 中通义灵码插件使用指南
  • 【从0到1学MybatisPlus】MybatisPlus入门
  • JS中parseFloat()函数的使用
  • Vue响应式系统的简单实现
  • 机器学习 从入门到精通 day_01
  • 文件存储的路径简单分析
  • 使用Prometheus监控systemd服务并可视化
  • Completablefuture的底层原理是什么
  • 优艾智合人形机器人“巡霄”,开启具身多模态新时代
  • GeoTime:主要用于执法、公共安全和情报分析领域GIS软件
  • AI训练存储架构革命:存储选型白皮书与万卡集群实战解析
  • git `switch` 命令详解与实用示例
  • 图论----拓扑排序
  • MyBatis的第三天笔记
  • VSCode使用Remote-SSH连接服务器时启动失败glibc不符合
  • Java学习——day23(反射的对象创建与方法调用)
  • Text-to-SQL技术深度解析:从理论突破到工程实践
  • Jmeter+Jenkins+Ant自动化持续集成环境搭建
  • [ctfshow web入门] web7
  • PyQt6实例_A股日数据维护工具_完整项目代码_终结章
  • Gis相关记录备忘录
  • 软件工程第五章习题
  • 15-产品经理-维护需求
  • redis 和 MongoDB都可以存储键值对,并且值可以是复杂json,用完整例子分别展示说明两者在存储json键值对上的使用对比