結果

問題 No.3114 0→1
ユーザー karashi-0086A2
提出日時 2025-04-20 15:41:55
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 962 bytes
コンパイル時間 2,083 ms
コンパイル使用メモリ 195,984 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-04-20 15:41:59
合計ジャッジ時間 2,739 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23 WA * 7
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#include <atcoder/dsu>
using namespace std;

#define rep(i,a) for(int i=0;i<a;i++)
#define f(i,a,b) for(int i=a;i<=b;i++)
#define rf(i,a,b) for(int i=a;i>=b;i--)

using ll = long long;
using ld = long double;
using vi= vector<int>;
using vvi= vector<vi>;
using vs= vector<string>;
using pii= pair<int, int>;
using vpii= vector<pii>;
#define endl '\n'

int main(void){
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
	int n;
	string s;
	
	int ans,ans1=0, ans2=0;
	
	cin >> n >> s;
	string s2=s;
	if(n==1){
		if(s[0]=='0')ans=1;
	}else if(n==2){
		if(s[0]=='1' && s[1]=='0')ans=1;
	}else{
		f(i,0,n-3){
			if(s[i]=='0'){
				if(s[i+1]=='0'){
					s[i+1]='1';
					ans1++;
				}if(s[i+2]=='0'){
					s[i+2]='1';
					ans1++;
				}
			}
		}
		rf(i,n-1,2){
			if(s2[i]=='0'){
				if(s2[i-1]=='0'){
					s2[i-1]='1';
					ans2++;
				}if(s2[i-2]=='0'){
					s2[i-2]='1';
					ans2++;
				}
			}
		}
	}
	cout << min(ans1,ans2) << endl;
}
0