Submission #118210

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1182102019-06-18 11:07:30imyujinLamps (JOI19_lamps)C++14
100 / 100
86 ms43512 KiB
#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));
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

lamp.cpp: In function 'int main()':
lamp.cpp:18:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d\n%s\n%s", &N, A, B);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...