求助(标题六个字

编译没问题
然后弹出来这个
image
这是什么意思
怎么解决?
悬赏一个解决方案

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 个赞

把电脑重启后成这样了

1 个赞

你把上面的114514开小一点

1 个赞

估计开成10010就没事了

1 个赞

对于100%的数据,2<=n<=1e5

1 个赞

果然RE力

1 个赞

所以换一种方法呗

1 个赞

二维数组开1e5还是太勉强了,而且你还有两个一维

1 个赞