Advertisement
a53

poarta1

a53
Mar 14th, 2019
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. //Rodica Balasa - 100
  2. #include <fstream>
  3. using namespace std;
  4. int main()
  5. {
  6. int i,k=1,ck,nv,j,v[10001],nk=0,gata=0,cer,pas=0,n;
  7. long long T=0;
  8. char c;
  9. ifstream f("poarta.in");
  10. ofstream g("poarta.out");
  11. f>>cer>>n;
  12. nv=0;
  13. while(f>>c)
  14. if(c>='0'&&c<='9')
  15. v[++nv]=c-'0';
  16. //for(i=1;i<=nv;i++) g<<v[i];g<<"\n";
  17. ck=n;
  18. while(ck)
  19. {
  20. nk++;ck=ck/10;
  21. }
  22.  
  23. while(!gata)
  24. {
  25. j=0;k++;
  26. if(v[nv]%2==0)
  27. {
  28. T+=2;pas=2;
  29. for(i=1;i<=nv;i++)
  30. {
  31. j=j*10+v[i];
  32. v[i]=j/2;j=j%2;
  33.  
  34. }
  35. }
  36. else
  37. {
  38. T++;pas=1;
  39. if(v[nv]>0) v[nv]--;
  40. }
  41. if(v[1]==0)
  42. {
  43. i=1;j=1;
  44. while(v[i]==0)i++;nv=nv-i+1;
  45. while(j<=nv)v[j++]=v[i++];
  46. }
  47.  
  48. if(nv<=nk)
  49. {
  50. ck=0;
  51. for(i=1;i<=nv;i++) ck=ck*10+v[i];
  52. if(ck<=n)gata=1;
  53. }
  54.  
  55. //for(i=1;i<=nv;i++) g<<v[i];g<<"\n";
  56. }
  57. if(pas==2&&ck*2==n+1){ck=n;T=T-1;}
  58. if(cer==1) g<<k<<"\n";//ne minim de dale
  59. else g<<T<<"\n";//nr minim de picaturi
  60. //g<<k<<"\n"<<ck<<"\n"<<T<<"\n";
  61.  
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement