为什么还有编译错误?
  • 板块学术版
  • 楼主楠枫
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/10/31 17:22
  • 上次更新2023/11/5 09:23:23
查看原帖
为什么还有编译错误?
141958
楠枫楼主2020/10/31 17:22

RT

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int MOD=1e9+7;
const int N=505000;
int ls(int x) {return (x<<1);}
int rs(int x) {return (x<<1|1);}
struct tree{
	int l,r;
	tree(){}
	tree(int l,int r):l(l),r(r){}
}node[N<<2];
int x[N],r[N],s[N],maxi;
vector<int> seg[N<<2],dag[N<<2];
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<<1)+(x<<3)+(ch^48);ch=getchar();}
	return x*f;
}
void build(int l,int r,int id) {
	node[id]=tree(l,r);
	maxi=max(maxi,id);
	if (l==r) {s[l]=id;return;}
	int mid=(l+r)>>1;
	build(l,mid,ls(id));
	build(mid,mid+1,rs(id));
	seg[id].push_back(ls(id));
	seg[id].push_back(rs(id));
}
void con(int u,int l,int r,int sl,int sr,int v) {
	if (l<=sl&&sr<=r) {
		if (u==v) return;
		seg[u].push_back(v);
		return;
	}
	int mid=(sl+sr)>>1;
	if (l<=mid) con(u,l,r,sl,mid,ls(v));
	if (r>mid) con(u,l,r,mid+1,sr,rs(v));
}
signed main() {
	int n=read(),l,e;
	for (int i=1;i<=n;i++) {
		x[i]=read();r[i]=read();
	}
	for (int i=1;i<=n;i++) {
		l=lower_bound(x+1,x+1+n,x[i]-r[i]);
		e=upper_bound(x+1,x+1+n,x[i]+r[i])-1;
		printf("l=%lld r=%lld\n",l,e);
	}
	return 0;
}

报错为

bomb.cpp:47:36: error: invalid conversion from ‘long long int*’ to ‘long long int’ [-fpermissive]l=lower_bound(x+1,x+1+n,x[i]-r[i]);
bomb.cpp:48:37: error: invalid conversion from ‘long long int*’ to ‘long long int’ [-fpermissive]e=upper_bound(x+1,x+1+n,x[i]+r[i])-1;

蒟蒻求教

2020/10/31 17:22
加载中...