比赛 近期练习题回顾 评测结果 AAAAAAAAAA
题目名称 Hoofball 最终得分 100
用户昵称 梦那边的美好ET 运行时间 0.006 s
代码语言 C++ 内存使用 13.66 MiB
提交时间 2018-10-31 07:39:40
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,a[110],bk[1010],ans=0,r[110];
inline int find(int p){
	int l=p-1,r=p+1;
	while(!bk[l]&&!bk[r]){
		if(l>0)l--;
		if(r<=1000)r++;
	}
	if(bk[l])return bk[l];
	else return bk[r];
}
int main(){
    freopen("hoofball_bronze_18feb.in","r",stdin);
    freopen("hoofball_bronze_18feb.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    for(int i=1;i<=n;i++)bk[a[i]]=i;
    for(int i=1;i<=n;i++)r[find(a[i])]++;
    for(int i=1;i<=n;i++)if(!r[i])ans++;
    for(int i=1;i<n;i++)for(int j=i+1;j<=n;j++)if(find(a[i])==j&&find(a[j])==i&&r[i]==1&&r[j]==1)ans++;
    printf("%d",ans);
    return 0;
}