Advertisement
a53

Proiecte1

a53
Jun 5th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #include<fstream>
  2. using namespace std;
  3. FILE * fin;
  4. ofstream fout("proiecte.out");
  5. int v[201], x[200001],Nr[201];
  6. int n, m,cand,k;
  7. int i,nr,j,nrmax,nrap,ok,aux;
  8. int main()
  9. {
  10. fin=fopen("proiecte.in","r");
  11. fscanf(fin,"%d%d",&n,&m);
  12. for(i=1;i<=m;i++)
  13. {
  14. fscanf(fin,"%d",&nr);//fin>>nr;
  15. for(j=1;j<=nr;j++)
  16. fscanf(fin,"%d",&x[j]);
  17. cand=x[1];nrap=1;
  18. for(j=2;j<=nr;j++)
  19. if(x[j]==cand)
  20. nrap++;
  21. else
  22. if(nrap>0)nrap--;
  23. else
  24. {
  25. nrap=1;
  26. cand=x[j];
  27. }
  28. if(nrap>0)
  29. {
  30. nrap=0;
  31. for(j=1;j<=nr;j++)
  32. if(x[j]==cand)nrap++;
  33. }
  34. if(nrap>nr/2)
  35. {
  36. ok=0;
  37. for(j=1;j<=k;j++)
  38. if(v[j]==cand)
  39. {
  40. ++Nr[j];
  41. ok=1;
  42. break;
  43. }
  44. if(ok==0)
  45. {
  46. v[++k]=cand;
  47. Nr[k]=1;
  48. }
  49.  
  50. }
  51. }
  52. ok=0;
  53. while(!ok)
  54. {
  55. ok=1;
  56. for(j=1;j<=k-1;j++)
  57. if(v[j]>v[j+1])
  58. {aux=v[j];v[j]=v[j+1];v[j+1]=aux;
  59. aux=Nr[j];Nr[j]=Nr[j+1];Nr[j+1]=aux;
  60. ok=0;}
  61.  
  62. }
  63. nrmax=Nr[1];
  64. for(j=2;j<=k;j++)
  65. if(nrmax<Nr[j])nrmax=Nr[j];
  66. for(j=1;j<=k;j++)
  67. if(nrmax==Nr[j])fout<<v[j]<<' ';
  68. fout<<'\n';
  69. fout.close();
  70. return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement