Advertisement
a53

Templu

a53
Aug 29th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. ///Solutie 100p
  2. ///Moldoveanu Traian Florian Alin
  3. #include <fstream>
  4. #include <algorithm>
  5. using namespace std;
  6. int v[1001];
  7. string v2[1001];
  8. char cif[10];
  9.  
  10. int cmp(string x,string y)
  11. {
  12. if(x<y)
  13. return 1;
  14. else
  15. return 0;
  16. }
  17.  
  18. int main()
  19. {
  20. ifstream cin("templu.in");
  21. ofstream cout("templu.out");
  22. for(int i=0;i<=9;++i)
  23. cif[i]='0'+i;
  24. int n,k,sfinal=0;
  25. cin>>k>>n;
  26. for(int i=1;i<=n;++i)
  27. v[i]=k-1;
  28. int poz=1,poz1=n;
  29. for(int i=1;i<=n;++i)
  30. {
  31. int s=0;
  32. for(int j=1;j<=n;++j)
  33. {
  34. if(poz<=poz1)
  35. {
  36. if(j>=poz && j<=poz1)
  37. ++v[j];
  38. }
  39. else
  40. {
  41. if(j<poz&&j>poz1)
  42. --v[j];
  43. }
  44. }
  45. ++poz;
  46. --poz1;
  47. for(int j=1;j<=n;++j)
  48. s=s+v[j];
  49. sfinal+=s;
  50. int pal=0,cnt1=0;
  51. while(s>0)
  52. ++cnt1,pal=pal*10+s%10,s/=10;
  53. while(cnt1>0)
  54. v2[i]=v2[i]+cif[pal%10],pal/=10,--cnt1;
  55. }
  56. int pal=0,cnt1=0;
  57. while(sfinal>0)
  58. ++cnt1,pal=pal*10+sfinal%10,sfinal/=10;
  59. while(cnt1>0)
  60. v2[n+1]=v2[n+1]+cif[pal%10],pal/=10,--cnt1;
  61. sort(v2+1,v2+n+2,cmp);
  62. string s;
  63. for(int i=1;i<=n+1;++i)
  64. s=s+v2[i],cout<<v2[i];
  65. for(unsigned int i=0;i<s.size();++i)
  66. v[i]=s[i]-'0';
  67. int maxim=0;
  68. for(unsigned int i=0;i<s.size()-1;++i)
  69. if(v[i]*10+v[i+1]>maxim)
  70. maxim=v[i]*10+v[i+1];
  71. cout<<'\n'<<maxim;
  72. return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement