这个程序为什么编译不了呢?
#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,r;
x[1]=1010;
printf("%lld\n",x[1]);
for (int i=1;i<=n;i++) {
x[i]=read();r[i]=read();
printf("%lld %lld\n",x[i],r[i]);
}
/*for (int i=1;i<=n;i++) {
int mind=x[i]-r[i],maxd=x[i]+r[i];
l=lower_bound(x+1,x+1+n,mind);
r=upper_bound(x+1,x+1+n,maxd)-1;
printf("l=%lld r=%lld\n",l,r);
}*/
return 0;
}
总是报这样的错
bomb.cpp:46:18: error: invalid types ‘long long int[long long int]’ for array subscript
x[i]=read();r[i]=read();
^
bomb.cpp:47:32: error: invalid types ‘long long int[long long int]’ for array subscript
printf("%lld %lld\n",x[i],r[i]);
在线求教