#pragma warning(disable:4996)
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<vector>
#include<algorithm>
#include<iostream>
#include<time.h>
using namespace std;
int a[300005];
int L[300005], R[300005];
int main()
{
int n, b;
scanf("%d%d", &n, &b);
int i;
int point, count = 0;
for (i = 1; i <= n; i++)
{
cin >> a[i];
if (a[i] == b)
{
a[i] = 0;
point = i;
}
else if (a[i] < b)
{
a[i] = -1;
}
else
{
a[i] = 1;
}
}
L[n] = 1;
int temp = n;
for (i = point - 1; i >= 1; i--)
{
temp += a[i];
L[temp]++;
}
R[n] = 1;
temp = n;
for (i = point + 1; i <= n; i++)
{
temp += a[i];
R[temp]++;
}
for (i = 0; i <= 2 * n; i++)
count += L[i] * R[2 * n - i];
printf("%d\n", count);
return 0;
}
NOI(杂题类)
最新推荐文章于 2022-03-16 12:08:49 发布