捞+求助:Nothing is compiled: OUTPUT exceeds
  • 板块学术版
  • 楼主suxiaozhou
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/10/19 12:15
  • 上次更新2024/10/19 14:40:11
查看原帖
捞+求助:Nothing is compiled: OUTPUT exceeds
781131
suxiaozhou楼主2024/10/19 12:15

RT 求调.

提交 P11186 遇到了如下报错:

Compile Error

Nothing is compiled: OUTPUT exceeds


代码:

编程语言

C++14 (GCC 9) O2

//
#include <bits/stdc++.h>
using namespace std;
const int maxn=500010;
struct Node{
	bool islv=1,flag=0;
	int l=-1,r=-1,val=-1;
}trees[maxn];
int m,q,treecnt=1;
string s;
int tmp=0;//到哪儿了?? imp
int get_a_num(){
	//cout<<"getnm "<<x<<endl;
	int ans=0;
	while (s[tmp]>='0'&&s[tmp]<='9'){
		ans=ans*10+s[tmp]-'0';
		tmp++;
	}
	//cout<<"getnmhhh "<<x<<endl;
	return ans;
}
void build_a_tree(int pos){
	//cout<<"build "<<pos<<" "<<tmp<<endl;
	if (s[tmp]!='x'){
		int x=get_a_num();
		trees[pos].val=x;
		++tmp;
		return;
	}
	//
	//if (pos>42000) cout<<"allright!\n";
	int sl=tmp;
	tmp+=2;int x=get_a_num();
	trees[pos].islv=0;
	trees[pos].val=x;
	++tmp;
	//left-subtree
	trees[pos].l=++treecnt;
	build_a_tree(treecnt);
	//right-subtree
	trees[pos].r=++treecnt;
	build_a_tree(treecnt);
	//
	if (s[sl+1]=='>'){
		trees[pos].flag=1;
	}
	return;
}
int x;
void sctree(){
	int curnd=1;
	while (!trees[curnd].islv){
		if (!trees[curnd].flag){//<
			if (x<trees[curnd].val){//1
				curnd=trees[curnd].l;
			}
			else{//0
				curnd=trees[curnd].r;
			}
		}
		else{
			if (x>trees[curnd].val){//1
				curnd=trees[curnd].l;
			}
			else{//0
				curnd=trees[curnd].r;
			}
		}
	}
	cout<<trees[curnd].val<<'\n';
}
int main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	//freopen("expr2.in","r",stdin);
	cin>>m>>q>>s;
	build_a_tree(1);
	/*
	cout<<"\n";
	for (int i=1;i<=7;i++){
		cout<<trees[i].flag<<" "<<trees[i].islv<<"\n";
		cout<<trees[i].l<<" "<<trees[i].r<<" "<<trees[i].val<<"\n";
		cout<<"\n";
	}
	cout<<"\n";
	*/
	while (q--){
		cin>>x;
		sctree();
	}
	return 0;
}

网络上有说数组开太大的

但经过过检查自认为数组开的并不大。

求大佬帮忙看一下...谢谢!!

2024/10/19 12:15
加载中...