FORGETPW optimization

I’ve been on this problem for about 12 hours now, I know my algorithm works, but I’m completely lost as to how else I can optimize my code further to get beyond that TLE.
I know that my bottleneck is when I read and decrypt the chars from the password. But even using getchar for literally everything and using chars directly as indexes and addresses isn’t enough, the reading of the password is still taking the most time. Is there a way to parse input faster beyond getchar? Or a way to store and access chars beyond using a char[]?

first …you should not questions related to an ongoing contest. second you don’t need no optimizations.

//