In this HackerEarth Caesar's Cipher problem solution Caesar's Cipher is a very famous encryption technique used in cryptography. It is a type of substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. For example, with a shift of 3, D would be replaced by G, E would become H, X would become A and so on.

Encryption of a letter X by a shift K can be described mathematically as EK(X) = (X + K) % 26.

Given a plaintext and it's corresponding ciphertext, output the minimum non-negative value of shift that was used to encrypt the plaintext or else output -1 if it is not possible to obtain the given ciphertext from the given plaintext using Caesar's Cipher technique.

HackerEarth Caesar's Cipher problem solution

HackerEarth Caesar's Cipher problem solution.

using namespace std;
#define N 400010
typedef long long ll;
#define INF ll(1e18)
//Template ends here
int main()
int q;
cin >> q;
string s, t;
cin >> s >> t;
int ans = -1;
bool flag = false;
for(int i = 0; i < (int)s.size(); i ++)
int diff = (t[i] - s[i] + 26) % 26;
if(ans == -1)
ans = diff;
if(diff == ans)
flag = true;
printf("%d\n", ans);
return 0;