提出 #66325157
ソースコード 拡げる
// Author: Andimeo
// Date: 2025-5-31 19:56:29
#include<bits/stdc++.h>
using namespace std;
#define sim template < class c
#define ris return * this
#define dor > debug & operator <<
#define eni(x) sim > typename \
enable_if<sizeof dud<c>(0) x 1, debug&>::type operator<<(c i) {
sim > struct rge { c b, e; };
sim > rge<c> range(c i, c j) { return rge<c>{i, j}; }
sim > auto dud(c* x) -> decltype(cerr << *x, 0);
sim > char dud(...);
struct debug {
#ifdef LOCAL
~debug() { cerr << endl; }
eni(!=) cerr << boolalpha << i; ris; }
eni(==) ris << range(begin(i), end(i)); }
sim, class b dor(pair < b, c > d) {
ris << "(" << d.first << ", " << d.second << ")";
}
sim dor(rge<c> d) {
*this << "[";
for (auto it = d.b; it != d.e; ++it)
*this << ", " + 2 * (it == d.b) << *it;
ris << "]";
}
#else
sim dor(const c&) { ris; }
#endif
};
#define imie(...) " [" << #__VA_ARGS__ ": " << (__VA_ARGS__) << "] "
#define int long long
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define pb push_back
#define tc int tt, qq = 0; cin >> tt; while(qq++ < tt)
#define cs cout << "Case " << qq << ": "
#define speed ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
using hash_t = uint64_t;
void solve() {
int n; string s; cin >> n >> s;
vector<int> dp(n + 1), cnt(n + 1), cntr(n + 2);
for (int i = 1; i <= n; i++) {
cnt[i] = cnt[i-1] + (s[i-1] == '1');
}
for (int i = n; i >= 1; i--) {
cntr[i] = cntr[i+1] + (s[i-1] == '1');
}
if (cnt[n] == 0) {
cout << 0 << endl;
return;
}
int ans = 1e18;
for (int i = 1; i <= n; i++) {
dp[i] = min(dp[i-1], cnt[i-1]) + (s[i-1] == '0');
// debug() << imie(i) imie(dp[i]) imie(cntr[i+1]);
ans = min(ans, dp[i] + cntr[i+1]);
}
cout << ans << endl;
}
signed main() {
speed
tc {
solve();
}
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Flip to Gather |
| ユーザ | cvs |
| 言語 | C++ 17 (Clang 16.0.6) |
| 得点 | 400 |
| コード長 | 2032 Byte |
| 結果 | AC |
| 実行時間 | 20 ms |
| メモリ | 8368 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3504 KiB |
| 00_sample_01.txt | AC | 1 ms | 3476 KiB |
| 01_test_00.txt | AC | 20 ms | 3344 KiB |
| 01_test_01.txt | AC | 17 ms | 3496 KiB |
| 01_test_02.txt | AC | 16 ms | 3468 KiB |
| 01_test_03.txt | AC | 17 ms | 3460 KiB |
| 01_test_04.txt | AC | 17 ms | 3528 KiB |
| 01_test_05.txt | AC | 16 ms | 3532 KiB |
| 01_test_06.txt | AC | 16 ms | 3448 KiB |
| 01_test_07.txt | AC | 16 ms | 3480 KiB |
| 01_test_08.txt | AC | 16 ms | 3448 KiB |
| 01_test_09.txt | AC | 13 ms | 3468 KiB |
| 01_test_10.txt | AC | 6 ms | 3664 KiB |
| 01_test_11.txt | AC | 6 ms | 3528 KiB |
| 01_test_12.txt | AC | 6 ms | 3660 KiB |
| 01_test_13.txt | AC | 2 ms | 3584 KiB |
| 01_test_14.txt | AC | 2 ms | 3560 KiB |
| 01_test_15.txt | AC | 2 ms | 3528 KiB |
| 01_test_16.txt | AC | 2 ms | 3608 KiB |
| 01_test_17.txt | AC | 2 ms | 3624 KiB |
| 01_test_18.txt | AC | 2 ms | 3476 KiB |
| 01_test_19.txt | AC | 4 ms | 6704 KiB |
| 01_test_20.txt | AC | 4 ms | 6644 KiB |
| 01_test_21.txt | AC | 4 ms | 6664 KiB |
| 01_test_22.txt | AC | 4 ms | 8368 KiB |
| 01_test_23.txt | AC | 4 ms | 8172 KiB |
| 01_test_24.txt | AC | 4 ms | 8340 KiB |
| 01_test_25.txt | AC | 4 ms | 8240 KiB |
| 01_test_26.txt | AC | 4 ms | 8340 KiB |
| 01_test_27.txt | AC | 4 ms | 8260 KiB |