Pagini recente » Cod sursa (job #2251188) | Cod sursa (job #2256373) | Cod sursa (job #1105211) | Cod sursa (job #1130494) | Cod sursa (job #1359862)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("interclasare.in");
ofstream fout("interclasare.out");
struct aaa{int val,l;};
aaa b[100001];
int i,j,n,a[100001],c[100001],m,x,k,q,l,maxi=-1;
int main()
{
fin>>n;
for(i=1; i<=n; i++)
fin>>a[i];
fin>>m;
int j=1;
for(i=1; i<=m; i++)
{
fin>>x;
while(j<=n and a[j]<x) {k++;c[k]=a[j];j++;}
k++;c[k]=x;
}
while(j<=n) {k++;c[k]=a[j];j++;}
for(i=1; i<=k; i++)
{
q=i;maxi=0;
for(j=i-1; j>=1; j--)
if(c[i]>=b[j].val and b[j].l>=maxi)maxi=b[j].l;
b[i].val=c[i];
b[i].l=maxi+1;
//fout<<c[i]<<" "<<b[q].val<<" "<<b[q].l<<" "<<q<<endl;
}
maxi=-1;
for(i=1; i<=k; i++) if(maxi<b[i].l)maxi=b[i].l;
fout<<maxi<<endl;
for(i=1; i<=k; i++) fout<<c[i]<<" ";
return 0;
}