더 빠른 방법이 있는데.. 잘 이해가 안가서 N^2의 해결 방법으로 풀었습니다.
시간제한이 2초라서 10000제곱이면 불안한 느낌이..
N이 더커진다면 불합격 받을 것 같네요..
더 빠른 방법을 공부하여 다시 올리겠습니다.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include <cstdio> #define MAX_SIZE 10000 #define ll long long int n; ll total; int data[MAX_SIZE]; void input() { scanf("%d", &n); for(int i = 0; i < n; i++) { scanf("%d", data + i); total += data[i]; } } int abs(int a) { if(a >= 0) return a; else return -a; } void solve() { ll ret = 0; for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { ret += abs(data[i] - data[j]); } } printf("%lld\n", ret); } int main() { input(); solve(); return 0; } | cs |
'알고리즘 > 구현' 카테고리의 다른 글
[5624] 좋은 수 (0) | 2017.04.06 |
---|---|
[3190] 뱀 (0) | 2017.04.05 |
[1952] 달팽이2 (0) | 2017.04.04 |
[2745] 진법 변환 (0) | 2017.04.02 |
[3460] 이진수 (0) | 2017.04.02 |