can anyone pls explain me why this code is not working for ques B. Decode String
while testing with the all 9 test cases(which is given in ques) this test case 5 11111 is giving me wrong ans while testing it separately it is giving the right ans
include<bits/stdc++.h>
using namespace std;
typedef long long li;
int main(){
li t; cin>>t; string ans="abcdefghijklmnopqrstuvwxyz"; while(t--){ li n; cin>>n; string s; cin>>s; string res=""; for(li i=0;i<s.length();i++){ if( s[i+2]=='0' && s[i+3]!='0' && i<n){ res+=ans[(s[i]-'0')*10+(s[i+1]-'0'-1)]; i+=2; }else{ res+=ans[s[i]-'0'-1]; } } cout<<res<<endl; } return 0;
}
You are trying to access out of bounds indices in s[i+1] and s[i+3] when i = s.length()-1, i = s.length()-2 and s.length()-3.