# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
118210 | imyujin | Lamps (JOI19_lamps) | C++14 | 86 ms | 43512 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<stdio.h>
#include<algorithm>
using namespace std;
#define MAXN 1000005
const int INF=MAXN;
char A[MAXN], B[MAXN];
int dp[MAXN][5], c[MAXN][5];
int main(){
int N;
int a[5][5]={{0, 0, 0, 0, 0}, {1, 0, 1, 0, 0}, {1, 1, 0, 0, 0}, {2, 1, 1, 0, 1}, {2, 1, 1, 1, 0}};
int ans=INF;
//freopen("input.txt", "r", stdin);
scanf("%d\n%s\n%s", &N, A, B);
for(int i=0; i<N; i++){
c[i][0]=A[i]==B[i]?0:1;
c[i][1]=c[i][4]=B[i]=='0'?0:1;
c[i][2]=c[i][3]=B[i]=='1'?0:1;
}
for(int i=0; i<5; i++) dp[0][i]=a[i][0]+c[0][i];
for(int i=1; i<N; i++) for(int j=0; j<5; j++){
dp[i][j]=INF;
for(int k=0; k<5; k++) dp[i][j]=min(dp[i][j], dp[i-1][k]+a[j][k]+(c[i][j]-c[i-1][k]==1?1:0));
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |