본문 바로가기
Algorithm/백준

백준 - 3273

flyon 2024. 12. 26.

https://www.acmicpc.net/problem/3273

 

 

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n,x,count=0;
    int arr[1000001]={};
    cin>>n;
    for(int i=0;i<n;i++){
        int temp;
        cin>>temp;
        arr[temp]++;
    }
    cin>>x;
    for(int i=0;i< (x + 1) / 2;i++){
        if (x - i > 1000000) continue; 
        if(arr[i]>0&&arr[x-i]>0)count+=min(arr[i],arr[x-i]);
    }
    if (x % 2 == 0 && arr[x / 2] > 1) {
        count += arr[x / 2] / 2;
    }
    cout<<count;
}

 

 

  • 배열의 범위를 초과하는 경우를 항상 조심하
  • 중복 되는 수의 입력을 조심하자

 

'Algorithm > 백준' 카테고리의 다른 글

[백준] 1654 - 랜선 자르기  (0) 2026.03.13
[백준] 10989 - 수 정렬하기 3  (0) 2026.03.08
백준 - 15829  (0) 2026.03.08
백준 - 2231  (0) 2026.03.07
백준 - 1008  (0) 2026.03.06
profile
작심삼일을 무한으로 반복하는 지식세포 키우기
✏️ ⚙️