codeforces B. Large Array and Segments

题目简述:

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

思路简述:

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

cpp 复制代码
#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();   
}
相关推荐
EnticE1523 分钟前
[高阶数据结构]二叉树经典面试题
数据结构·算法·面试
fallzzzzz30 分钟前
C++ stl中的list的相关函数用法
c++·list
MarkHard12343 分钟前
Leetcode (力扣)做题记录 hot100(34,215,912,121)
算法·leetcode·职场和发展
爱喝茶的小茶1 小时前
构造+简单树状
数据结构·算法
悦悦子a啊2 小时前
PTA:jmu-ds-最短路径
c++·算法·图论
Kidddddult2 小时前
力扣刷题Day 46:搜索二维矩阵 II(240)
算法·leetcode·力扣
小王努力学编程2 小时前
高并发内存池(三):TLS无锁访问以及Central Cache结构设计
jvm·数据结构·c++·学习
不是吧这都有重名3 小时前
[论文阅读]Deeply-Supervised Nets
论文阅读·人工智能·算法·大语言模型
homelook3 小时前
matlab simulink双边反激式变压器锂离子电池均衡系统,双目标均衡策略,仿真模型,提高均衡速度38%
算法
什码情况4 小时前
星际篮球争霸赛/MVP争夺战 - 华为OD机试真题(A卷、Java题解)
java·数据结构·算法·华为od·面试·机试