Submission #66357928


Source Code Expand

#include<iostream>
#include<vector>
using namespace std;
using P = pair<int,int>;
void solve(){
	int N;cin>>N;
	vector<P> rl;
	string S;cin>>S;
	for(int i=0;i<N;++i){
		if(rl.size()!=0 && rl.back().first == S[i]-'0'){
			rl.back().second++;
		} else {
			rl.emplace_back(S[i]-'0',1);
		}
	}

	int M = rl.size();
	int count = 0;
	for(int i=0;i<M;++i){
		if(rl[i].first==1)count+=rl[i].second;
	}

	int INF = 1<<30;
	vector<vector<long long>> dp(M+1,vector<long long>(3,INF));
	dp[0][0] = dp[0][1] = dp[0][2] =  0;
	for(int i=0;i<M;++i){
		if(rl[i].first==0){
			dp[i+1][0] = min(dp[i+1][0],dp[i][0]);
			dp[i+1][2] = min(dp[i+1][2],dp[i][0]+rl[i].second);
			dp[i+1][2] = min(dp[i+1][2],dp[i][2]+rl[i].second);
			dp[i+1][1] = min(dp[i+1][1],dp[i][2]);
		}
		if(rl[i].first==1) {
			dp[i+1][0] = min(dp[i+1][0],dp[i][0]+rl[i].first);
			dp[i+1][1] = min(dp[i+1][1],dp[i][1]+rl[i].first);
			dp[i+1][2] = min(dp[i+1][2],dp[i][0]);
		}
	}

	cout << min(min(dp[M][0],dp[M][1]),dp[M][2]) << endl;
	
}

int main(){
	int T;cin>>T;
	for(;T--;){
		solve();
	}
}

Submission Info

Submission Time
Task D - Flip to Gather
User ponzoie
Language C++ 23 (gcc 12.2)
Score 0
Code Size 1100 Byte
Status WA
Exec Time 30 ms
Memory 16020 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 1
WA × 1
AC × 4
WA × 26
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 3488 KiB
00_sample_01.txt WA 1 ms 3484 KiB
01_test_00.txt WA 30 ms 3532 KiB
01_test_01.txt WA 27 ms 3448 KiB
01_test_02.txt WA 26 ms 3532 KiB
01_test_03.txt WA 25 ms 3472 KiB
01_test_04.txt WA 25 ms 3540 KiB
01_test_05.txt WA 24 ms 3408 KiB
01_test_06.txt WA 25 ms 3560 KiB
01_test_07.txt WA 25 ms 3592 KiB
01_test_08.txt WA 24 ms 3436 KiB
01_test_09.txt WA 20 ms 3536 KiB
01_test_10.txt WA 12 ms 3564 KiB
01_test_11.txt WA 12 ms 3576 KiB
01_test_12.txt WA 12 ms 3632 KiB
01_test_13.txt WA 7 ms 3588 KiB
01_test_14.txt WA 7 ms 3588 KiB
01_test_15.txt WA 7 ms 3616 KiB
01_test_16.txt WA 7 ms 3748 KiB
01_test_17.txt WA 6 ms 3772 KiB
01_test_18.txt WA 6 ms 3772 KiB
01_test_19.txt WA 9 ms 7532 KiB
01_test_20.txt WA 9 ms 7656 KiB
01_test_21.txt WA 10 ms 7764 KiB
01_test_22.txt WA 10 ms 9668 KiB
01_test_23.txt WA 4 ms 3860 KiB
01_test_24.txt WA 6 ms 6208 KiB
01_test_25.txt AC 4 ms 3644 KiB
01_test_26.txt AC 4 ms 3596 KiB
01_test_27.txt AC 15 ms 16020 KiB