2017년 3월 15일 수요일

5624 좋은 수

백준 5624 좋은 수 https://www.acmicpc.net/problem/5624

#include <cstdio>
#include <algorithm>
#define MAX 200000
using namespace std;
int arr[5111];
int dp[400001];
int visit[5111];
int main(){
    int N, ans = 0;
    scanf("%d"&N);
    for (int n = 1; n <= N; n++)
        scanf("%d"&arr[n]);
    
    for (int n = 1; n < N; n++){
        for (int m = 1; m <= n; m++)
            dp[arr[n] + arr[m] + MAX] = 1;
        for (int m = n + 1; m <= N; m++){
            if (!visit[m] && dp[arr[m] - arr[n] + MAX]){
                ans++; visit[m] = 1;
            }
        }
    }
    printf("%d\n", ans);
    return 0;
}
cs

댓글 없음:

댓글 쓰기