My issue
Code running incorrectly on test
1
12
100000000001
However running correctly on GDB online C++ compiler
My code
#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
string s;
cin>>s;
unordered_map<int , int>pos ;
vector<int>v;
v.push_back(0);
pos[0]=0;
for(int i=1;i<n+1;i++)
{
v.push_back(i);
pos[i]=i;
}
if(s[0]=='0' || s[n]=='0')
{
cout<<"NO"<<endl;
continue;
}
for(int i=n-1;i>0;i--)
{
if(s[i]=='0')
{
int temp=pos[i];
v[temp]=i-1;
v[pos[i-1]]=i;
temp=pos[i-1];
pos[i-1]=pos[i];
pos[i]=temp;
}
}
cout<<"YES"<<endl;
for(int i=0;i<n;i++)
cout<<v[i]<<" ";
cout<<endl;
}
}
Learning course: 1800 to 2000 difficulty problems
Problem Link: PerMEXuation Practice Problem in 1800 to 2000 difficulty problems - CodeChef