fork download
  1. #include<iostream>
  2. #include<stdio.h>
  3. #include<vector>
  4. using namespace std;
  5. vector<int>v1;
  6.  
  7. int main()
  8. {
  9. long long t;
  10. long i;
  11. long l=0,j,r,mid;
  12. char k;
  13. scanf("%lld",&t);
  14. getchar();
  15. while(t--)
  16. {
  17. do
  18. {
  19. k=getchar();
  20. v1.push_back(k-48);
  21. }while(k!='\n');
  22. v1.erase(v1.end()-1);
  23. for(i=0;i<v1.size();i++)
  24. {
  25. if(v1[i]!=9)
  26. l=1;
  27.  
  28. }
  29. if(l==0)
  30. {
  31. cout<<"1";
  32. i=v1.size()-1;
  33. while(i--)
  34. cout<<"0";
  35. cout<<"1";
  36. v1.erase(v1.begin(),v1.begin()+v1.size());
  37. if(t>0)
  38. cout<<"\n";
  39. continue;
  40. }
  41. i=v1.size()-1;
  42. mid=i/2;
  43. l=i/2;
  44. r=(i+1)/2;
  45.  
  46. while(v1[l]==v1[r] && l>=0 )
  47. {
  48. l--;
  49. r++;
  50. }
  51. if(l<0)
  52. {
  53. if(v1[mid]==9)
  54. {
  55. j=mid;
  56. while(v1[j]==9)
  57. {
  58. v1[j]=0;
  59. j=j-1;
  60. }
  61. v1[j]++;
  62. }
  63. else
  64. v1[mid]++;
  65. }
  66. else if(v1[l]<v1[r])
  67. {
  68. if(v1[mid]==9)
  69. {
  70. j=mid;
  71. while(v1[j]==9)
  72. {
  73. v1[j]=0;
  74. j=j-1;
  75. }
  76. v1[j]++;
  77. }
  78. else
  79. v1[mid]++;
  80. }
  81. for(i=0;i<=mid;i++)
  82. cout<<v1[i];
  83. for(i=mid;i>=0;i--)
  84. {
  85. if(v1.size()%2==1 && i==mid)
  86. continue;
  87. else
  88. cout<<v1[i];
  89.  
  90. }
  91. v1.erase(v1.begin(),v1.begin()+v1.size());
  92. if(t>0)
  93. cout<<"\n";
  94. }
  95. return 0;
  96. }
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
Time limit exceeded #stdin #stdout 5s 200064KB
stdin
2
808
1234
stdout
Standard output is empty