标签:const color sre include print printf long can blog
思路:
水题 竟然不会做 尴尬
比b大的数=1 比b小的数=-1
找到b 统计一下左边比b大x的数有多少
扫右边的时候就查左边的表 就可以了
//By SiriusRen #include <cstdio> using namespace std; const int N=200500; int n,b,sum[N],p,a[N],cnt[N]; long long ans; int main(){ scanf("%d%d",&n,&b); sum[0]=n; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); if(a[i]>b)sum[i]=sum[i-1]+1; else if(a[i]<b)sum[i]=sum[i-1]-1; else sum[i]=sum[i-1],p=i; } for(int i=p;i<=n;i++)cnt[sum[i]]++; for(int i=0;i<p;i++)ans+=cnt[sum[i]]; printf("%lld\n",ans); }
标签:const color sre include print printf long can blog
原文地址:http://www.cnblogs.com/SiriusRen/p/6654408.html