PROBLEM LINK:Author: Trung Nguyen DIFFICULTY:EASY PREREQUISITES:None PROBLEM:You're given bunch of numbers. For each number you should remove exactly one digit to get the largest number that is divisible by $6$. QUICK EXPLANATION:Bruteforce the digit to be removed and check if it's possible by divisibility rule for $2$ and $3$. Among all possibilities choose either first with $s_{i+1} < s_i$ or the last one if there is no such position where $s_i$ is removed element. EXPLANATION:Number is divisible by $6$ if it is divisible by $2$ (i.e. the last digit is even) and by $3$ (i.e. sum of digits is divisible by $3$) simultaneously. Given that we can quickly check if we can remove some particular digit. Now we should choose among all possible digits one which will lead to the largest number. For convenience let's assume that in block of repeated digits we always consider only the last one. Thus $s_i=s_{i+1}$ never takes place and after we remove $i^{th}$ digit, first $i1$ digits will be same as in the initial numbers and next digit will be equal to $s_{i+1}\neq s_i$. Thus if it is possible to get the number which is lexicographically larger then initial one, we should choose one which is larger in the earliest possible position to get the largest number among all possible. On the other hand if we can only delete last character or one with $s_i > s_{i+1}$, we'll get the number which is lexicographically lesser than $s$ with first differ in position $i$. In this case we should maximize the difference position which leads us to the algorithm described in quick explanation. Here is the main code to solve the problem:
AUTHOR'S AND TESTER'S SOLUTIONS:Author's solution can be found here. RELATED PROBLEMS:asked 25 Oct '17, 04:21

What does this mean s[n  1  (i == n  1)] answered 01 Nov '17, 12:50

In this problem, when it is submitted through python 3 it shows EOFError: EOF When reading line. answered 02 Nov '17, 22:25

Please can anyone tell me why my submission gave WA. I checked many test cases they all are going correct Here's my solution https://www.codechef.com/viewsolution/16037688 Also what we need to do if 'the sum of n over all test cases ≤ 106' Constraint fails answered 03 Nov '17, 00:21

Bro, n can have a maximum of 10^5 digits. So, you have to store it in a string or character array. Read the question again, it is given that the integer has n>1 digits. answered 03 Nov '17, 12:13

What is wrong with my approach and why am I getting SIGABRT here https://www.codechef.com/viewsolution/17192149
link
This answer is marked "community wiki".
answered 29 Jan, 16:43

The condition should be s[i+1] > s[i] and not the other way around; where s[i] is the element to be removed. answered 01 Nov, 22:53
