Submission #937546

#TimeUsernameProblemLanguageResultExecution timeMemory
937546WonderfulWhaleLamps (JOI19_lamps)C++17
4 / 100
195 ms67124 KiB
#include<bits/stdc++.h> using namespace std; #define int int64_t #define pb push_back #define pii pair<int, int> #define st first #define nd second #define sz(x) (int)(x).size() #define all(x) (x).begin(), (x).end() int dp[1000009][8]; int32_t main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; for(int i=0;i<=n;i++) { for(int j=0;j<8;j++) { dp[i][j] = 1e9; } } dp[0][0] = 0; string A, B; cin >> A >> B; for(int i=1;i<=n;i++) { for(int j=0;j<8;j++) { for(int k=0;k<8;k++) { bool a = k&1; bool b = k&2; bool c = k&4; if(a&&b) continue; int New = A[i-1]-'0'; if(c) New = 1-New; if(a) New = 1; if(b) New = 0; if(New!=B[i-1]-'0') continue; bool ap = a&(!(j&1)); bool bp = b&(!(j&2)); bool cp = c&(!(j&4)); dp[i][k] = min(dp[i][k], dp[i-1][j]+ap+bp+cp); } } } int ans = 1e9; for(int i=0;i<8;i++) ans = min(ans, dp[n][i]); cout << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...