RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
USACO0429 파일 입출력

Haircut

Platinum IV 플래티넘 IV
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

Tired of his stubborn cowlick, Farmer John decides to get a haircut. He has \(N\)
(\(1\le N\le 10^5\)) strands of hair arranged in a line, and strand \(i\) is
initially \(A_i\) micrometers long (\(0\le A_i\le N\)). Ideally, he wants his hair
to be monotonically increasing in length, so he defines the "badness" of his
hair as the number of inversions: pairs \((i,j)\) such that \(i < j\) and
\(A_i > A_j\).

For each of \(j=0,1,\ldots,N-1\), FJ would like to know the badness of his hair if
all strands with length greater than \(j\) are decreased to length exactly \(j\).

(Fun fact: the average human head does indeed have about \(10^5\) hairs!)

Problem credits: Dhruv Rohatgi

제약

SCORING

  • Test case 2 satisfies \(N\le 100.\)
  • Test cases 3-5 satisfy \(N\le 5000.\)
  • Test cases 6-13 satisfy no additional constraints.

Problem credits: Dhruv Rohatgi

입력 형식

The first line contains \(N\).

The second line contains \(A_1,A_2,\ldots,A_N.\)

출력 형식

For each of \(j=0,1,\ldots,N-1\), output the badness of FJ's hair on a new line.

Note that the large size of integers involved in this problem may require the
use of 64-bit integer data types (e.g., a "long long" in C/C++).

파일 입력 / 출력
이 문제는 표준 입출력을 사용하지 않습니다. 프로그램은 다음 파일을 읽고 써야 합니다:
입력을 읽을 파일 haircut.in
출력을 쓸 파일 haircut.out
예제 1
입력
5
5 2 3 3 0
출력
0
4
4
5
7
설명

The fourth line of output describes the number of inversions when FJ's hairs are
decreased to length 3. Then \(A=[3,2,3,3,0]\) has five inversions:
\(A_1>A_2,\,A_1>A_5,\,A_2>A_5,\,A_3>A_5,\) and \(A_4>A_5\).

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2019-2020 > US Open > Gold

태그

평가 및 의견

Haircut

개요
출제자 난이도 Platinum IV 플래티넘 IV 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

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

풀이 제출

Haircut

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