本文介绍: 来源:牛客网。

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。

输入描述:

第一行为两个正整数n和b ,第二行为1~n 的排列。

输出描述:

输出一个整数,即中位数为b的连续子序列个数。

#include<bits/stdc++.h>
using namespace std;
int a[100005],b[100005];
int main()
{
	int n,c;cin>>n>>c;
	int po,sum=0;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		if(a[i]==c) po=i;
		if(a[i]<c) b[i]++;
		if(a[i]>c) b[i]--;
		b[i]+=b[i-1];
	}
//	for(int i=1;i<=n;i++) b[i]+=b[i-1];
	for(int i=po;i<=n;i++){
		for(int j=0;j<po;j++){
			if(b[i]-b[j]==0) sum++;
		}
	}
	cout<<sum;
}

 

原文地址:https://blog.csdn.net/m0_75017568/article/details/135958461

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_66121.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注