为啥不能使用R - L
查看原帖
为啥不能使用R - L
575655
Chtholly_is_cute楼主2024/6/27 21:22
#include<bits/stdc++.h>
using namespace std;
map<int,set<int> >mp;
int a[114514];
inline int read(){
	int x=0,f=1;char ch=getchar();
	while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
	return x*f;
}
#define IT set<int>::iterator
void solve(){
    int n=read();
    for(int i=1;i<=n;i++){
        a[i]=read();
        mp[a[i]].insert(i);
    }
    int q=read();
    int l,r,x;
    for(int i=1;i<=q;i++){
        l=read();
        r=read();
        x=read();
        IT L,R;
        L=mp[x].lower_bound(l);
        R=mp[x].lower_bound(r);
        printf("%d\n",R-L);
    }
}
int main(){
    int T=read();
    for(int i=1;i<=T;i++)solve();
}
/*P_10288_GESP样题_八级_区间.cpp:27:25: note:   'std::set<int>::iterator {aka std::_Rb_tree_const_iterator<int>}' is not derived from 'const std::move_iterator<_IteratorL>'
         printf("%d\n",R-L);
*/
2024/6/27 21:22
加载中...