TCS_CODEVITA_QUESTION(해결책 필요)
우체국 우체국 택배부가 엉망입니다. 밴에 실어야 할 소포들이 임의의 무게 순서로 일렬로 늘어서 있습니다. Head Post Master는 한 가지 예외를 제외하고 소포 무게가 증가하는 순서대로 소포를 정렬하기를 원합니다. 그는 가장 무거운 (아마도 가장 귀중한) 소포를 사무실 근처에 보관하기를 원합니다.
문제 설명
우체국 택배칸이 엉망입니다. 밴에 실어야 할 소포들이 임의의 무게 순서로 일렬로 늘어서 있습니다. Head Post Master는 한 가지 예외를 제외하고 소포 무게가 증가하는 순서대로 소포를 정렬하기를 원합니다. 그는 가장 무거운 (아마도 가장 귀중한) 소포를 사무실 근처에 보관하기를 원합니다.
당신과 당신의 친구는 이 상자들을 분류하려고 시도하고 당신은 한 번에 두 개의 상자를 교환하여 분류하기로 결정합니다. 그러한 교환에는 두 상자의 무게를 곱한 것과 같은 노력이 필요합니다.
목표는 최소한의 노력으로 필요에 따라 상자를 재배치하는 것입니다.
입력
첫 번째 줄은 상자 수(N)와 가장 무거운 상자가 있어야 하는 우체국장 사무실의 위치(k)를 지정하는 두 개의 공백으로 구분된 양의 정수로 구성됩니다.
두 번째 줄은 상자의 무게를 나타내는 N개의 공백으로 구분된 양의 정수로 구성됩니다. 두 개의 가중치가 동일하지 않다고 가정할 수도 있습니다.
출력
출력은 상자를 정렬된 순서로 가져오는 데 소요되는 총 노력을 제공하는 한 줄이며 위치 k에서 가장 무거워집니다.
제약조건
N<=50
가중치 <= 1000
난이도
콤플렉스
시간 제한(초)
1
예
예시 1
입력
5 2
20 50 30 80 70
출력
3600
설명
상자가 5개(N=5) 있고 가장 무거운 상자가 위치 2(k=2)에 있어야 합니다. 최종 주문(정렬, 가장 무거운 항목이 2번임)을 보면 20 80 30 50 70이어야 합니다. 이를 보면 50개와 80개 소포만 교환하면 된다는 것을 알 수 있습니다. 가중치 곱의 노력이 필요하므로 노력은 4000입니다.
가장 작은 패키지(20개)를 중개자로 사용하면 더 많은 절감 효과를 얻을 수 있습니다. 20을 50(노력 1000)으로 교환한 다음 80(노력 1600)으로 다시 50(노력 1000)으로 교환하면 효과는 동일하며 총 노력은 3600입니다(직접적으로 얻은 노력보다 적음). 이동) 노력
최적의 교환 순서를 거친 후의 결과는 다음과 같습니다
50 20 30 80 70
50 80 30 20 70
20 80 30 80 70
3600의 노력이 필요하므로 출력은 3600입니다.
예시 2
입력
6 3
30 20 40 80 70 60
출력
7600
설명
6개의 소포가 있고 가장 무거운 소포는 3번 위치에 있어야 합니다. 따라서 최종 주문은 20 30 80 40 60 70이 되어야 합니다. 초기 위치를 보면 20과 30을 교환해야 함을 알 수 있습니다( 노력 600), 40과 80을 교환해야 하고(노력 3200), 60과 70을 교환해야 합니다(노력 4200). 따라서 총 노력은 600 3200 4200=8000입니다.
예제 1과 동일한 접근 방식을 사용하면 다음과 같은 노력을 얻게 됩니다
(600) 20 30 40 80 70 60
(3200) 20 30 80 40 70 60
(1200) 60 30 80 40 70 20
(1400) 60 30 80 40 20 70
(1200) 20 30 80 40 60 70
결과물인 8000의 노력이 아닌 총 7600의 노력이 얻어지는 것입니다.
위 내용은 TCS_CODEVITA_QUESTION(해결책 필요)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

일부 애플리케이션이 제대로 작동하지 않는 회사의 보안 소프트웨어에 대한 문제 해결 및 솔루션. 많은 회사들이 내부 네트워크 보안을 보장하기 위해 보안 소프트웨어를 배포 할 것입니다. ...

많은 응용 프로그램 시나리오에서 정렬을 구현하기 위해 이름으로 이름을 변환하는 솔루션, 사용자는 그룹으로, 특히 하나로 분류해야 할 수도 있습니다.

시스템 도킹의 필드 매핑 처리 시스템 도킹을 수행 할 때 어려운 문제가 발생합니다. 시스템의 인터페이스 필드를 효과적으로 매핑하는 방법 ...

IntellijideAultimate 버전을 사용하여 봄을 시작하십시오 ...

데이터베이스 작업에 MyBatis-Plus 또는 기타 ORM 프레임 워크를 사용하는 경우 엔티티 클래스의 속성 이름을 기반으로 쿼리 조건을 구성해야합니다. 매번 수동으로 ...

Java 객체 및 배열의 변환 : 캐스트 유형 변환의 위험과 올바른 방법에 대한 심층적 인 논의 많은 Java 초보자가 객체를 배열로 변환 할 것입니다 ...

Redis 캐싱 솔루션은 제품 순위 목록의 요구 사항을 어떻게 인식합니까? 개발 과정에서 우리는 종종 a ... 표시와 같은 순위의 요구 사항을 처리해야합니다.

전자 상거래 플랫폼에서 SKU 및 SPU 테이블의 디자인에 대한 자세한 설명이 기사는 전자 상거래 플랫폼에서 SKU 및 SPU의 데이터베이스 설계 문제, 특히 사용자 정의 판매를 처리하는 방법에 대해 논의 할 것입니다 ...
