这题数据太弱了吧 请求加强数据
查看原帖
这题数据太弱了吧 请求加强数据
424751
wumakanghui楼主2024/8/20 22:02

这种代码不开o2都能跑过去的

#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_map>
using namespace std;
typedef long long ll;
unordered_map<ll,int>tr;
const ll N=2e10+1;
inline void add(ll x){
  for(;x<=N;x+=x&-x)++tr[x];
}
inline int ask(ll x){
  int res=0;
  for(;x;x-=x&-x)res+=tr[x];
  return res;
}
int n,l,r;
ll a[100010];
ll minn=2e10;
int main(){
  ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
  ll l,r;
  cin>>n>>l>>r;
  ll res=0;
  for(int i=1;i<=n;++i){
    cin>>a[i];
    minn=min(minn,a[i]+=a[i-1]);
    res+=(a[i]>=l&&a[i]<=r);
  }
  for(int i=1;i<=n;++i){
    a[i]-=minn-1-r;
    res+=ask(a[i]-l)-ask(a[i]-r-1);
    add(a[i]);
  }
  cout<<res;
}

2024/8/20 22:02
加载中...