Submission #66326165
Source Code Expand
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
#define int long long
#define i128 __int128
#define ff first
#define ss second
#define pii pair<int, int>
#define vi vector<int>
#define vvi vector<vector<int>>
#define REP1(a) for (int _ = 0; _ < a; ++_)
#define REP2(i, a) for (int i = 0; i < a; ++i)
#define REP3(i, a, b) for (int i = a; i < b; ++i)
#define REP4(i, a, b, c) for (int i = a; i < b; i += c)
#define overload4(a, b, c, d, e, ...) e
#define REP(...) overload4(__VA_ARGS__, REP4, REP3, REP2, REP1)(__VA_ARGS__)
#define pb push_back
#define fast_io ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define print(s) {cout << s; return;}
template <class T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
template <class T> using min_heap = priority_queue<T, vector<T>, greater<T>>;
template <class T> using max_heap = priority_queue<T>;
const int MOD = 998244353;
const int INF = 1e18;
int pow(int b, int p) {
if (p == 0) return 1;
if (p == 1) return b;
int k = pow(b, p / 2); k = k * k % MOD;
if (p % 2 == 0) return k;
else return k * b % MOD;
}
void solve() {
int n;
cin >> n;
string s;
cin >> s;
int pre[n][2], suf[n][2];
if (s[0] == '0') pre[0][0] = 0, pre[0][1] = 1;
else pre[0][1] = 0, pre[0][0] = 1;
REP(i, 1, n) {
pre[i][0] = (s[i] != '0') + pre[i - 1][0];
pre[i][1] = (s[i] != '1') + min(pre[i - 1][0], pre[i - 1][1]);
}
if (s[n - 1] == '0') suf[n - 1][0] = 0, suf[n - 1][1] = 1;
else suf[n - 1][1] = 0, suf[n - 1][0] = 1;
for (int i = n - 2; i >= 0; i--) {
suf[i][0] = (s[i] != '0') + suf[i + 1][0];
suf[i][1] = (s[i] != '1') + min(suf[i + 1][0], suf[i + 1][1]);
}
int ans = INF;
REP(i, n) ans = min(ans, min(pre[i][0], pre[i][1]) + min(suf[i][0], suf[i][1]));
cout << ans << "\n";
}
int32_t main(){
fast_io;
int tt = 1;
cin >> tt;
while (tt--) solve();
return 0;
}
Submission Info
| Submission Time |
|
| Task |
D - Flip to Gather |
| User |
sqrteipi |
| Language |
C++ 23 (gcc 12.2) |
| Score |
400 |
| Code Size |
2085 Byte |
| Status |
AC |
| Exec Time |
5 ms |
| Memory |
9996 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
400 / 400 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
00_sample_00.txt, 00_sample_01.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 00_sample_00.txt |
AC |
1 ms |
3424 KiB |
| 00_sample_01.txt |
AC |
1 ms |
3472 KiB |
| 01_test_00.txt |
AC |
4 ms |
3512 KiB |
| 01_test_01.txt |
AC |
3 ms |
3568 KiB |
| 01_test_02.txt |
AC |
3 ms |
3428 KiB |
| 01_test_03.txt |
AC |
3 ms |
3628 KiB |
| 01_test_04.txt |
AC |
3 ms |
3632 KiB |
| 01_test_05.txt |
AC |
4 ms |
3444 KiB |
| 01_test_06.txt |
AC |
4 ms |
3436 KiB |
| 01_test_07.txt |
AC |
4 ms |
3632 KiB |
| 01_test_08.txt |
AC |
4 ms |
3512 KiB |
| 01_test_09.txt |
AC |
3 ms |
3428 KiB |
| 01_test_10.txt |
AC |
3 ms |
3500 KiB |
| 01_test_11.txt |
AC |
3 ms |
3516 KiB |
| 01_test_12.txt |
AC |
3 ms |
3432 KiB |
| 01_test_13.txt |
AC |
2 ms |
3628 KiB |
| 01_test_14.txt |
AC |
2 ms |
3580 KiB |
| 01_test_15.txt |
AC |
2 ms |
3464 KiB |
| 01_test_16.txt |
AC |
2 ms |
3752 KiB |
| 01_test_17.txt |
AC |
2 ms |
3748 KiB |
| 01_test_18.txt |
AC |
2 ms |
3760 KiB |
| 01_test_19.txt |
AC |
4 ms |
7748 KiB |
| 01_test_20.txt |
AC |
4 ms |
7820 KiB |
| 01_test_21.txt |
AC |
4 ms |
7908 KiB |
| 01_test_22.txt |
AC |
5 ms |
9800 KiB |
| 01_test_23.txt |
AC |
5 ms |
9796 KiB |
| 01_test_24.txt |
AC |
5 ms |
9996 KiB |
| 01_test_25.txt |
AC |
5 ms |
9860 KiB |
| 01_test_26.txt |
AC |
5 ms |
9872 KiB |
| 01_test_27.txt |
AC |
5 ms |
9920 KiB |