编译没问题
然后弹出来这个

这是什么意思
怎么解决?
悬赏一个解决方案
2 个赞
没编译
3 个赞
重启试试
1 个赞
他这个的意思是源程序未编译
1 个赞
一般如果你不是在写头文件(.h类型)的文件的话,你就关掉c++重启就好了
1 个赞
啊没听懂
1 个赞
就把c++关掉重新打开就可以解决99%的问题
1 个赞
不行啊(ˉ▽ˉ;)…
1 个赞
我的代码
#include<bits/stdc++.h>
using namespace std;
#define maxn 114514
int n,q;
int a[maxn],f[maxn][maxn],Lg[maxn];
int mx(int l,int r){
int g=Lg[r-l+1];
return max(f[l][g],f[r-(1<<g)+1][g]);
}
int mn(int l,int r){
int g=Lg[r-l+1];
return min(f[l][g],f[r-(1<<g)+1][g]);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
f[i][0]=a[i];
}
for(int i=2;i<=n;++i)
Lg[i]=Lg[i>>1]+1;
for(int j=1;j<=Lg[n];++j)
for(int i=1;i<=n;++i)
f[i][j]=max(f[i][j-1],f[i+(1<<j-1)][j-1]);
cin>>q;
while(q--){
int l,r;
cin>>l>>r;
cout<<mx(l,r)-mn(l,r)<<endl;
}
return 0;
}
1 个赞
你确定你的文件名字是.cpp结尾?
1 个赞
是啊
1 个赞
我这里报内存占用太大
1 个赞
那要咋搞
1 个赞
你把上面的114514开小一点
1 个赞
估计开成10010就没事了
1 个赞
额
对于100%的数据,2<=n<=1e5
1 个赞
果然RE力
1 个赞
所以换一种方法呗
1 个赞
二维数组开1e5还是太勉强了,而且你还有两个一维
1 个赞
