Submission #398463

#TimeUsernameProblemLanguageResultExecution timeMemory
398463qwerasdfzxclLamps (JOI19_lamps)C++14
4 / 100
13 ms8304 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; string x, y; int dp[1001000]; int main(){ cin.tie(NULL); ios_base::sync_with_stdio(false); int n; cin >> n >> x >> y; int pt[2]={-1, -1}, pt2=-1; if (x[0]!=y[0]) dp[0]=1; else pt2=0; pt[y[0]-'0']=0; for (int i=1;i<n;i++){ //printf("%d %d %d\n", pt[0], pt[1], pt2); if (x[i]==y[i]){ dp[i] = dp[i-1]; pt[y[i]-'0'] = i; pt2 = i; continue; } dp[i] = 1e9; if (pt2==-1) dp[i] = 1; else dp[i] = min(dp[i], dp[pt2]+1); if (pt[(y[i]-'0')^1]==-1) dp[i] = 1; else dp[i] = min(dp[i], dp[pt[(y[i]-'0')^1]]+1); pt[y[i]-'0'] = i; } cout << dp[n-1]; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...