#include<stdio.h> #include<algorithm> #define MAX 1010 int data[MAX], data2[MAX*MAX], cnt, N; int main() { int i, j; scanf("%d", &N); for (i = 1; i <= N; i++) { scanf("%d", &data[i]); } std::sort(data + 1, data + 1 + N); for (i = 1; i <= N; i++) { for (j = i; j <= N; j++) { data2[++cnt] = data[i] + data[j]; } } std::sort(data2 + 1, data2 + 1 + cnt); for (i = N; i >= 1; i--) { for (j = i; j >= 1; j--) { if (std::binary_search(data2 + 1, data2 + cnt + 1, data[i] - data[j])) { printf("%d", data[i]); break; } } if (j != 0) { break; } } return 0; }
2295번: 세 수의 합
https://www.acmicpc.net/problem/2295
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기