竞赛讨论区 > 求助:A题只过了三分之一
头像
牛客885181937号
编辑于 03-12 15:10
+ 关注

求助:A题只过了三分之一

#include<bits/stdc++.h>

using namespace std;

const int N = 1e5+10;

typedef long long ll;

ll arr[N];

vector<ll> all;

struct Q

{

ll wz;

int val;

}x[N];

int find(ll x)

{

return lower_bound(all.begin(),all.end(),x)-all.begin()+1;

}

int main()

{

ll a,b,c;

cin>>a>>b>>c;

int n; cin>>n;

for(int i=1;i<=n;i++)

{

ll wz; cin>>wz;

all.push_back(wz);

x[i].wz=wz;

x[i].val=1;

}

sort(all.begin(),all.end());

all.erase(unique(all.begin(),all.end()),all.end());

for(int i=1;i<=n;i++)

{

int y=find(x[i].wz);

arr[y]+=x[i].val;

}

for(int i=1;i<=all.size();i++)

{

arr[i]+=arr[i-1];

}

int l=find(b);

int r=find(c-1);

int num=arr[r]-arr[l];

cout<<num;

return 0;

}

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐