Advertisement
nicuvlad76

Untitled

Dec 18th, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define N 100001
  3. using namespace std;
  4. ifstream fin("cioc.in");
  5. ofstream fout("cioc.out");
  6. long long v[N],a[N];
  7. int n,k,kfinal,cer;
  8. void Citire()
  9. {
  10. fin>>cer>>n>>k;
  11. for(int i=1; i<=n; i++)
  12. {
  13. fin>>v[i];
  14. a[i]=v[i];
  15. }
  16. }
  17. void Afisare()
  18. {
  19. int i=k+1;
  20. kfinal=k;
  21. while(a[i]==a[i-1]&&i<=n)kfinal++,i++;
  22.  
  23. if(cer==1) fout<<kfinal;
  24. else
  25. {
  26. int poz=kfinal+1;
  27. if(poz==n+1) a[poz]=a[n]+1;
  28. for(int i=1; i<=n; i++)
  29. {
  30. fout<<v[i]<<' ';
  31. if(v[i]<a[poz])fout<<v[i]*2<<" ";
  32. }
  33. }
  34. }
  35.  
  36. int Pivot(int st, int dr)
  37. {
  38. int mij=(st+dr)/2;
  39. swap(a[st],a[mij]);
  40. int i=st, j=dr, d=0;
  41. while(i<j)
  42. {
  43. if(a[i]>a[j])
  44. {
  45. swap(a[i],a[j]);
  46. d=1-d;
  47. }
  48. i+=d;
  49. j-=1-d;
  50. }
  51. return i;
  52. }
  53. void QS(int st, int dr)
  54. {
  55. if(st<dr)
  56. {
  57. int mij=Pivot(st,dr);
  58. QS(st,mij-1);
  59. QS(mij+1,dr);
  60. }
  61. }
  62. int main()
  63. {
  64. Citire();
  65. //QS(1,n);
  66. sort(a+1,a+n+1);
  67. Afisare();
  68. return 0;
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement