Cod sursa(job #154903)
Utilizator | Data | 11 martie 2008 16:08:39 | |
---|---|---|---|
Problema | Cel mai lung subsir comun | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.91 kb |
#include<fstream.h>
int main()
{int n,i,m,j,v[40],t[40],nr=0,max=0,ok=0,I=0,II=0;
ifstream f("cmlsc.in");
f>>n>>m;
for(i=0;i<n;i++)
f>>v[i];
for(i=0;i<m;i++)
f>>t[i];
f.close();
while(I<n)
{nr=0;
for(i=I;i<n;i++)
{ for(j=ok;j<m;j++)
if(v[i]==t[j])
{nr++;
ok=j+1;
j=m;
}
if(I==0&&ok==0)
i=n;
}
if(nr>max)
{ max=nr;
II=I;
}
ok=0;
I++;
}
ok=0;
ofstream g("cmlsc.out");
g<<max<<'\n';
for(i=II;i<n;i++)
for(j=ok;j<m;j++)
if(v[i]==t[j])
{ g<<v[i]<<" ";
ok=j+1;
j=m;
}
g.close();
return 0;
}