Logo
(追記) (追記ここまで)

25456번 - 궁금한 시프트

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB47424820451.256%

문제

시프트는 두 문자열 $S,ドル $T$를 생일 선물로 받았다. 두 문자열의 길이는 $N$이고, '0' 과 '1'로만 이루어져 있다. 두 문자열을 가지고 무엇을 할 수 있을지 고민하던 중 아래 소스 코드도 선물로 받았다.

int calc(string S, string T, int s, int t) {
 int n = S.length();
 int i = s;
 int j = t;
 int cnt = 0;
 for (int k=0; k<n; k++) {
 if (S[i] == '1' && T[j] == '1') {
 cnt += 1;
 }
 i = (i+1) % n;
 j = (j+1) % n;
 }
 return cnt;
}

calcST는 문자열 $S$와 $T$이고, st는 0ドル ≤$ s $< N,ドル 0ドル ≤$ t $< N$을 만족해야 한다. 따라서, calc를 호출할 수 있는 방법은 $N^2$개가 있다. 두 문자열 $S$와 $T$가 주어졌을 때, 가능한 calc의 리턴값 중 최댓값을 구해보자.

입력

첫째 줄에 문자열 $S,ドル 둘째 줄에 문자열 $T$가 주어진다.

출력

가능한 calc의 리턴값 중 최댓값을 첫째 줄에 출력한다.

제한

  • 1ドル ≤ N ≤ 500,000円$

예제 입력 1

011011
101010

예제 출력 1

2

예제 입력 2

01001
00000

예제 출력 2

0

예제 입력 3

1101100111
1110001101

예제 출력 3

5

s $= 0,ドル t $= 3$

힌트

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /