记录编号 394913 评测结果 AAAAAAAAAAAAAAA
题目名称 [HZOI 2016] 最长公共上升子序列 最终得分 100
用户昵称 Gravatarliuyu 是否通过 通过
代码语言 C++ 运行时间 0.013 s
提交时间 2017-04-14 19:51:15 内存使用 0.33 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int m,n,a[1002],b[1002],s[1002],sum=0;
int main()
{
	freopen("lcis.in","r",stdin);
	freopen("lcis.out","w",stdout);
	scanf("%d",&m);
	for(int i=1;i<=m;i++)
	 scanf("%d",&a[i]);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	 scanf("%d",&b[i]);
//	for(int i=1;i<=m;i++)
//	 for(int j=1;j<=n;j++)
//	  {
//	  	if(a[i]==b[i]){
//	  		for(int x=1;x<=i;x++)
//	  		 for(int y=1;y<=j;y++)
//	  		  if()
//		  }
//	  }
      for(int i=1;i<=m;i++)
       {int l=0;
       	for(int j=1;j<=n;j++){
       		if(a[i]>b[j])l=max(l,s[j]);
       		if(a[i]==b[j])s[j]=l+1;
       		sum=max(sum,s[j]);
		   }
       	 
	   }
	printf("%d",sum);
}