RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 JOI00196

小籠包 (Xiao Long Bao)

설명

JOI 君はお昼ごはんに,中華料理屋で小籠包を食べることにした.
小籠包とは,具と熱いスープを小麦粉の皮で包んだ料理であり,食べるときにスープが周囲に飛び散ることで知られている.

JOI 君が注文した小籠包のセットは,具やスープの異なる N 個の小籠包からなる.
N 個の小籠包は等間隔に一列に並んでおり,順番に 1 から N の番号がつけられている.
i 番目の小籠包と j 番目の小籠包の間の距離は絶対値 |i - j| である.

JOI 君は小籠包をある順番で食べていく.
最初,すべての小籠包のおいしさは 0 である.
i 番目の小籠包を食べると,周囲にその汁が飛び散り,まだ食べられていない小籠包のうち,小籠包 i からの距離が D i 以下の小籠包に汁がかかる.汁がかかった小籠包はおいしさが
A i 増える.すなわち, i 番目の小籠包を食べたときに,
j 番目の小籠包 (1 ≦ j ≦ N かつ i - D i ≦ j ≦ i + D i ) がまだ食べられずに残っているならば,
j 番目の小籠包のおいしさが A i 増える.

JOI 君は,食べる順番を工夫することで,食べる小籠包のおいしさの合計を最大化したい.
もっとも良い順番で食べたときの,JOI 君が食べる小籠包のおいしさの合計を求めるプログラムを作成せよ.

제약
입력 형식

入力ファイルは 3 行からなる.

1 行目には 1 つの整数 N (1 ≦ N ≦ 100) が書かれている.

2 行目には, N 個の整数 D 1 , D 2 , ..., D N (0 ≦ D i ≦ 7) が空白を区切りとして書かれている.

3 行目には, N 個の整数 A 1 , A 2 , ..., A N (0 ≦ A i ≦ 1000) が空白を区切りとして書かれている.

출력 형식

JOI 君が食べる小籠包のおいしさの合計の最大値を 1 行で出力せよ.

예제 1
입력
5
1 0 1 1 2
0 2 6 3 4
출력
20
문제 정보

생성자가 기록되지 않았습니다.

출처 JOI 2014 Preliminary

평가 및 의견

小籠包 (Xiao Long Bao)

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

小籠包 (Xiao Long Bao)

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8