正常的数据(数字1e6内),正常的内存(512M),但是为什么这个代码会OLE?(没看见输出超限的原因)
不放题目了
代码:
#include<bits/stdc++.h>
using namespace std;
int n,cnt=0,nown;
string s[1000010],now,a;
int main(){
freopen("password.in","r",stdin);
freopen("password.out","w",stdout);
cin>>n;
s[0]=" ";
for(int i=1;i<=n;i++){
string x;
cin>>x;
s[++cnt]=x;
}
while(cin>>a){
if(a=="0"){
cout<<now<<" ";
if(nown!=1){
s[++cnt]=now;
}
now="";
nown=0;
}else{
int anum=0;
for(int i=a.length()-1;i>=0;i--){
anum=anum*10+a[i]-'0';
}
now=now+s[anum];
nown++;
}
}
return 0;
}