CSP-S 例题11-1 乒乓比赛

描述

一条大街上住着 n 个兵乓球爱好者,经常组织比赛切磋技术。每个人都有一个不同的技能值 ai​。每场比赛需要 3 个人:两名选手,一名裁判。他们有一个奇怪的规定,即裁判必须住在两名选手的中间,并且技能值也在两名选手之间。
问一共能组织多少种比赛。

输入描述

两行,第一行一个整数 n 表示人数,第二行输入 n 个数,表示技能值 ai​。

输出描述

一个整数,表示能组织的比赛数。

样例输入 1 

4 3 1 2 3

样例输出 1 

1
//              k
//7	 4	5	3	2	8	9	1	6
//
//裁判的位置k在[2,n-1]区间内
//裁判前面的选手[1,k-1]中  找到大于裁判的数量q1和小于裁判的数量q2
//裁判后面的选手[k+1,n]中  找到大于裁判的数量h1和小于裁判的数量h2
//对于当前k作为裁判可以的得到的比赛方案共有 q1*h2+q2*h1 
/* 
#include<bits/stdc++.h>
using namespace std;
int a[100010],n,sum;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int k=2;k<=n-1;k++){ //枚举裁判 
		int q1=0,q2=0,h1=0,h2=0;
		for(int i=1;i<k;i++){  //区间内小于或者大于自己的数字有多少,可以使用树状数组实现 
			if(a[i]>a[k]){
				q1++;
			}
		} 
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值