반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

코딩하기 좋은날

백준 2399 거리의 차이 본문

백준(Baekjoon) 문제

백준 2399 거리의 차이

huiung 2019. 1. 20. 21:25
반응형

문제와 채점은 위 사이트에서 확인 하실 수 있습니다.

 

이 문제는 각 인덱스에서 다른 모든 인덱스와의 차이의 합들을 모두 구하는 문제입니다.

 

입력이 10000개이고 시간 제한이 1초라서 O(N^2)은 뭔가 애매할거 같아서 저는 0번째 인덱스부터 가면서 나오는 수들의 절댓값을 2배씩하면서 앞으로 진행 하였습니다. 이런식으로 하면 처음에는 n-1번의 연산을 하고 이후에 한번씩 줄어 마지막에 1번만 연산을 하면 되므로 각 인덱스를 n-1번씩  해주는 방법보다 효율적이라고 할 수 있습니다.

 

아래는 코드입니다.

 

#include <iostream>
#include <cmath>

using namespace std;

int main(void) {
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	int n;
	cin >> n;
	int arr[n];
	long long sum = 0;
	
	for(int i = 0; i < n; i++)
		cin >> arr[i]; 
	
	for(int i = 0; i < n-1; i++)
		for(int j = i+1; j < n; j++) 
			sum+=2*abs(arr[i]-arr[j]);
	
	cout<<sum;
	return 0;	 
}
반응형

'백준(Baekjoon) 문제' 카테고리의 다른 글

백준 2800 괄호 제거  (0) 2019.01.21
백준 1092 배  (0) 2019.01.21
백준 3047 ABC  (0) 2019.01.20
백준 1205 등수 구하기  (0) 2019.01.20
백준 10825 국영수  (0) 2019.01.20