为什么加上memset会RE

CF10D LCIS

_**希望更丰富的展现?使用Markdown**_
by ⚡YMJcvjk⚡ @ 2018-10-16 19:12:34


@[Dar_XOX](/space/show?uid=88702) # 希望更丰富的展现?使用Markdown
by RiverFun @ 2018-10-16 19:12:49


希望更丰富的展现?使用[Markdown](https://www.luogu.org/wiki/show?name=%E5%B8%AE%E5%8A%A9%EF%BC%9Amarkdown)
by NoBDKnowsBeterThanME @ 2018-10-16 19:15:41


``` #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<iomanip> using namespace std; int a[510],b[510],f[510],pre[510]; inline void write(int k) { if(!k) return; write(pre[k]); printf("%d ",b[k]); } int main() { memset(f,0,sizeof(f)); memset(pre,0,sizeof(pre)); int n,m,ans=0,k; scanf("%d",&n);for(int i=1;i<=n;++i) scanf("%d",&a[i]); scanf("%d",&m);for(int j=1;j<=m;++j) scanf("%d",&b[j]); for(int i=1;i<=n;++i) { int tag=0; for(int j=1;j<=m;++j) { if(b[j]==a[i]) {f[j]=f[tag]+1;pre[j]=tag;} if(a[i]>b[j]&&f[j]>f[tag]) tag=j; } } for(int i=1;i<=m;++i) if(f[i]>ans) k=i,ans=f[i]; printf("%d\n",ans); write(k); return 0; } ```
by Dar_XOX @ 2018-10-16 19:18:09


|