| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 2048 MB | 18 | 6 | 6 | 54.545% |
'0'과 '1'만으로 이루어진 길이 1ドル$ 이상의 문자열 $A$가 다음 조건 중 하나를 만족하는 경우, 이러한 $A$를 그룹 문자열이라고 부릅니다.
0'이 등장하지 않거나 '1'이 등장하지 않습니다.0'은 모든 '1'보다 먼저 등장합니다.1'은 모든 '0'보다 먼저 등장합니다.예를 들어, "000", "11", "00111", "110"은 그룹 문자열이지만, "1011"이나 "00100"은 그룹 문자열이 아닙니다.
'0'과 '1'만으로 이루어진 문자열 $S$에 대해, $S$의 처음과 끝에서 문자를 원하는 만큼 지워 만들 수 있는 서로 다른 그룹 문자열의 개수를 $f(S)$라고 정의합니다. 예를 들어, $S$가 "10110"일 때 만들 수 있는 그룹 문자열은 "0", "01", "011", "1", "10", "11", "110"이 있습니다. 그러므로 $S$가 "10110"일 때 $f(S)$의 값은 7ドル$입니다. 이때 "10"이 $S$에 여러 번 등장하지만 $f(S)$를 구하는 데는 한 번만 세는 것에 유의하세요.
여러분에게 문자열 $X$에 대한 $Q$번의 질문이 주어집니다. 초기에 문자열 $X$는 빈 문자열입니다. 각 질문은 다음과 같은 형태입니다.
이때 질문으로 문자열 $X$에 추가된 문자는 그다음 질문이 주어질 때에도 문자열 $X$에서 지워지지 않고 남아있습니다.
여러분은 각 질문에 대해 충분히 빨리 대답할 수 있을까요?
첫 번째 줄에 정수 $Q$가 주어집니다.
두 번째 줄부터 $Q$개의 줄에 걸쳐 각 줄에 질문에 대응되는 문자 $c_i$와 양의 정수 $k_i$가 주어집니다.
$Q$개의 줄에 걸쳐 각 줄에 질문에 대한 정답을 출력합니다.
0' 또는 '1'| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 11 | 각 1ドル \le i \le Q$에 대한 $k_i$의 합은 100ドル$ 이하 |
| 2 | 23 | 각 1ドル \le i \le Q$에 대한 $k_i$의 합은 3000ドル$ 이하 |
| 3 | 37 | 각 1ドル \le i \le Q$에 대한 $k_i$의 합은 1ドル,000円,000円$ 이하 |
| 4 | 29 | 추가 제한 없음 |
6 1 1 0 1 1 2 0 1 1 2 1 2
1 3 6 7 7 11
예제의 각 질문에 대해 새로운 문자열 $X$의 내용, 새롭게 만들 수 있는 그룹 문자열, 그리고 $f(X)$의 값은 다음과 같습니다.
| 질문 | 문자열 $X$ | 새롭게 만들 수 있는 그룹 문자열 | $f(X)$ |
|---|---|---|---|
1 1ドル$ |
"1" |
"1" |
1ドル$ |
0 1ドル$ |
"10" |
"0", "10" |
3ドル$ |
1 2ドル$ |
"1011" |
"01", "011", "11" |
6ドル$ |
0 1ドル$ |
"10110" |
"110" |
7ドル$ |
1 2ドル$ |
"1011011" |
없음 | 7ドル$ |
1 2ドル$ |
"101101111" |
"0111", "01111", "111", "1111" |
11ドル$ |
Contest > 한국정보기술진흥원 > 제5회 청소년 IT경시대회 > 중등부 3번