Getting WA

Contest Page | CodeChef ← this is the problem link!!

int main()

{

``````ios::sync_with_stdio(0);

cin.tie(0); cout.tie(0);

ll T;

cin >> T;

while (T--) {

ll n, k;

string s;

cin >> s;

vl vec(k, 0);

Fo(i, k) cin >> vec[i];

ll ans=0;

fo(i, 0, n-1) {

if (s[i]==s[i+1]) {

ans+=2;

} else {

ans++;

}

}

Fo(i, k) {

ll pos=vec[i]-1;

if (pos==0) {

if (s[pos]==s[pos+1]) {

s[0]=(s[0]=='0') ? '1' : '0';

cout << ans-1 << '\n';

ans--;

continue;

} else {

s[0]=(s[0]=='0') ? '1' : '0';

cout << ans+1 << '\n';

ans++;

}

}else if (pos==n-1) {

if (s[pos]==s[pos-1]) {

s[pos]=(s[pos]=='0') ? '1' : '0';

cout << ans-1 << '\n';

ans--;

} else {

s[pos]=(s[pos]=='0') ? '1' : '0';

cout << ans+1 << '\n';

ans++;

}

} else {

if (s[pos]==s[pos+1] && s[pos]==s[pos-1]) {

s[pos]=(s[pos]=='0') ? '1' : '0';

ans-=2;

cout << ans << '\n';

} else if (s[pos]!=s[pos+1] && s[pos]!=s[pos-1]) {

s[pos]=(s[pos]=='0') ? '1' : '0';

ans+=2;

cout << ans << '\n';

} else {

s[pos]=(s[pos]=='0') ? '1' : '0';

cout << ans << '\n';

}

}

}

}

}``````

hi,can u please provide full code,including macro part?

1 Like

logic is correct,i wanna TEST this code,what is wrong in that code.

1 Like

thanks bro, i got the correct output after i posted here, the mistake was i didnt include the edge case when there was only one subatomic particle

Ok