L: 礼物

C语言题库

共 1049字,需浏览 3分钟

 ·

2021-04-01 17:55

L: 礼物


内存限制:128 MB时间限制:1 S标准输入输出



题目描述

小明来到礼品店准备给女朋友挑选礼物。店员给小明展示了 n 个商品,这 n 个物品排成一排。并表示如果小明购买连续的 c 个商品会有特别大的优惠。小明接受了店员的提议,决定购买连续的 c 个商品。这 n 个商品每个都有一个美观度 ai。小明不希望自己送的礼品美观度都太低,所以希望买到的 c 个商品的美观度都能比 k 大。小明想知道有多少种购买方案能够达到这个要求。


输入格式

第一行给出一个正整数 T(T<=10),表示数据组数。
对于每组数据,第一行给出三个整数 n(1<=n<=200000),k(0<=k<=1e9)和 c(1<=c<=n)。第二行给出 n 个正整数 ai(0<=ai<=1e9),依次表示 n 个商品的美观度。


输出格式

对于每组数据,输出一个整数表示能够达到要求的购买方案数,占一行。


输入样例 复制

3
4 3 3
2 3 1 1
1 1 1
2
4 0 3

2 3 1 1


输出样例 复制

0
1
2



代码:

#include <iostream>
using namespace std;
int Beauty[200005];
int main()
{
int t;
cin>>t;
while (t--)
{
int n,k,c;
cin>>n>>k>>c;
for(int i=0;i<n;i++)
cin>>Beauty[i];
int cot = 0;
int res = 0;
for(int i=0;i<n;i++)//遍历n件商品的美观度
{
if(Beauty[i]>k)//大于要求
{
cot++;//累积
if(cot>=c)//够了C件,没多一件就多一种方法
res++;
}
else//遇到不满的K的,之前的计数清零
cot = 0;
}
cout<<res<<endl;//输出结果
}
return 0;
}


浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报