#include #include #include #include using namespace std; typedef long long ll; typedef pair PII; #define MAXN 200005 int a[MAXN]; int c[MAXN]; inline int lowbit(int x){ return x & (-x); } int sum(int n){ int ans=0; while(n){ ans+=c[n]; n-=lowbit(n); } return ans; } void update(int pos,int change){ while(pos=m) a[i]=1; else a[i]=0; } a[0]=0; for (int i=1;i<=n;i++){ a[i]+=a[i-1]; } memset(c,0,sizeof(c)); ll ans=0; update(a[0]+1,1); for (int i=1;i<=n;i++){ if (a[i]-k>=0){ ans+=sum(a[i]-k+1); } update(a[i]+1,1); } printf("%I64d\n",ans); } return 0; }