提出 #66345656


ソースコード 拡げる

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define all(a) a.begin(), a.end()
#define NUM1 998'244'353ll
#define NUM2 1'000'000'007ll
#define MOD NUM1
#define fi first
#define se second
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define sq(a_) ((a_) * (a_))
const ll INF = LLONG_MAX/7;
const ll MAX = 2'50'100ll;


void solve()
{
    int n;
    cin >> n;
    string s;
    cin >> s;
    vector<int> p0(n + 1), p1(n + 1), d(n + 1);
    for(int i = 1; i <= n; i++){
        p0[i] = p0[i - 1];
        p1[i] = p1[i - 1];
        if(s[i - 1] == '0') ++p0[i];
        else ++p1[i];
        d[i] = p0[i] - p1[i];
    }
    // for(auto&x : d) cerr << x << ' ';
    // cerr << '\n';
    int c1 = p1[n];
    int maxd = 0, mind = n;
    for(int i = 1; i <= n; i++){
        maxd = max(maxd, d[i]);
        mind = min(mind, d[i] - maxd);
    }
    cout << c1 + mind << '\n';
}

signed main(void)
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    // fill(prods, prods + 600, mi(1));
    // fact[0] = 1;
    // for(ll i = 1; i < MAX; i++) fact[i] = i * fact[i - 1];
    // ifact[MAX - 1] = inv(fact[MAX - 1]);
    // for(ll i = MAX - 2; i >= 0; i--) ifact[i] = (i + 1) * ifact[i + 1];
    ll t = 1;
    cin >> t;
    while(t--)
        solve();
    return 0;
}

提出情報

提出日時
問題 D - Flip to Gather
ユーザ udow
言語 C++ 20 (gcc 12.2)
得点 400
コード長 1411 Byte
結果 AC
実行時間 5 ms
メモリ 6004 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 2
AC × 30
セット名 テストケース
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 3528 KiB
00_sample_01.txt AC 1 ms 3488 KiB
01_test_00.txt AC 5 ms 3404 KiB
01_test_01.txt AC 4 ms 3616 KiB
01_test_02.txt AC 4 ms 3536 KiB
01_test_03.txt AC 5 ms 3492 KiB
01_test_04.txt AC 4 ms 3544 KiB
01_test_05.txt AC 4 ms 3524 KiB
01_test_06.txt AC 4 ms 3496 KiB
01_test_07.txt AC 4 ms 3532 KiB
01_test_08.txt AC 5 ms 3620 KiB
01_test_09.txt AC 4 ms 3524 KiB
01_test_10.txt AC 3 ms 3488 KiB
01_test_11.txt AC 3 ms 3484 KiB
01_test_12.txt AC 3 ms 3560 KiB
01_test_13.txt AC 2 ms 3760 KiB
01_test_14.txt AC 2 ms 3768 KiB
01_test_15.txt AC 2 ms 3752 KiB
01_test_16.txt AC 2 ms 3784 KiB
01_test_17.txt AC 2 ms 3664 KiB
01_test_18.txt AC 2 ms 3708 KiB
01_test_19.txt AC 3 ms 5052 KiB
01_test_20.txt AC 3 ms 5004 KiB
01_test_21.txt AC 3 ms 5184 KiB
01_test_22.txt AC 3 ms 5960 KiB
01_test_23.txt AC 3 ms 6000 KiB
01_test_24.txt AC 3 ms 5900 KiB
01_test_25.txt AC 3 ms 5980 KiB
01_test_26.txt AC 3 ms 5968 KiB
01_test_27.txt AC 3 ms 6004 KiB