#include<stdio.h> int mp[400001]; int res, a[5000], ck[5000], n; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", a + i); for (int i = 0; i < n; i++) for (int j = i; j < n; j++) mp[a[i] + a[j] + 200000]++; for (int i = n - 1; i >0; i--) { for (int j = 0; j <= i; j++) mp[a[i] + a[j] + 200000]--; for (int j = i; j <n; j++) ck[j] |= mp[a[j] - a[i - 1] + 200000]; } for (int i = 0; i < n; i++) if (ck[i]) res++; printf("%d", res); return 0; }
5624번: 좋은 수 - 최적화필요
https://www.acmicpc.net/problem/5624
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기