Advertisement
a53

SCLMPrime

a53
Jul 27th, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #include <fstream>
  2. #define Nmax 1000000
  3. using namespace std;
  4. ifstream fin("sclmprime.in");
  5. ofstream fout("sclmprime.out");
  6. int n,A[1001],L[1001],v[Nmax],maxt,pm;
  7.  
  8. void prime()
  9. {
  10. v[0]=v[1]=1;
  11. for(int i=2;i*i<Nmax;++i)
  12. if(v[i]==0)
  13. for(int j=2;i*j<Nmax;++j)
  14. v[i*j]=1;
  15. }
  16.  
  17. void afis(int k,int m)
  18. {
  19. if(m>0)
  20. {
  21. int i=k-1;
  22. while(L[i]!=m-1)
  23. i--;
  24. afis(i,m-1);
  25. fout<<A[k]<<' ';
  26. }
  27. }
  28.  
  29. int main()
  30. {
  31. int i,j,maxx;
  32. prime();
  33. fin>>n;
  34. for(i=1;i<=n;++i)
  35. fin>>A[i];
  36. L[1]=1;
  37. for(i=2;i<=n;++i)
  38. {
  39. maxx=0;
  40. for(j=1;j<i;++j)
  41. if(v[A[j]]==0&&v[A[i]]==0&&A[j]<=A[i]&&L[j]>maxx)
  42. maxx=L[j];
  43. if(v[A[i]]==0)
  44. L[i]=maxx+1;
  45. if(L[i]>=maxt)
  46. maxt=L[i],pm=i;
  47. }
  48. fout<<maxt<<'\n';
  49. afis(pm,maxt);
  50. return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement