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();   
}
相关推荐
长安第一美人几秒前
AI辅助下的嵌入式UI系统设计与实践(二)[代码阅读理解]
c++·嵌入式硬件·ui·显示屏·工业应用
Theodore_10227 分钟前
深度学习(12)正则化线性回归中的偏差与方差调试
人工智能·深度学习·算法·机器学习·线性回归
比昨天多敲两行15 分钟前
C++ 多态
开发语言·c++
是娇娇公主~22 分钟前
C++ 多态机制与虚函数实现原理
c语言·c++
m0_5698814724 分钟前
跨语言调用C++接口
开发语言·c++·算法
老鼠只爱大米1 小时前
LeetCode经典算法面试题 #295:数据流的中位数(双堆法、有序列表、平衡树等多种实现方案详解)
算法·leetcode·优先队列··数据流·中位数·java 面试题
x_xbx1 小时前
LeetCode:215. 数组中的第K个最大元素
数据结构·算法·leetcode
黎阳之光1 小时前
AI数智筑防线 绿色科技启新篇——黎阳之光硬核技术赋能生态安全双升级
大数据·人工智能·算法·安全·数字孪生
2501_924952691 小时前
C++中的过滤器模式
开发语言·c++·算法
zhixingheyi_tian1 小时前
gdb 之 attach
c++