- toc {:toc}
λ¬Έμ
n κ°μ μλ‘ λ€λ₯Έ μμ μ μ a1, a2, β¦, an μΌλ‘ μ΄λ£¨μ΄μ§ μμ΄μ΄ μλ€. ai μ κ°μ 1 λ³΄λ€ ν¬κ±°λ κ°κ³ , 1000000 λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€. μμ°μ x κ° μ£Όμ΄μ‘μ λ, aiΒ + ajΒ = x (1 β€ i < j β€ n) μ λ§μ‘±νλ (ai, aj) μμ μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ μμ΄μ ν¬κΈ° n μ΄ μ£Όμ΄μ§λ€. λ€μ μ€μλ μμ΄μ ν¬ν¨λλ μκ° μ£Όμ΄μ§λ€. μ μ§Έ μ€μλ x κ° μ£Όμ΄μ§λ€. (1 β€ n β€ 100000, 1 β€ x β€ 2000000)
μΆλ ₯
λ¬Έμ μ 쑰건μ λ§μ‘±νλ μμ κ°μλ₯Ό μΆλ ₯νλ€.
μΆμ²:https://www.acmicpc.net/problem/3273
νμ΄
μ νμκ° 1 μ΄μ΄κΈ° λλ¬Έμ λλ΅ 1 μ΅ μ°μ°μ ν μ μλ€κ³ μκ°.
μμ΄μ ν¬κΈ° μμ²΄κ° μ΅λ 10 λ§μ΄κΈ° λλ¬Έμ λ¨μ λΈλ£¨νΈν¬μ€λ‘λ μκ°μ΄κ³Όκ° λ°μν¨.
===μκ° λ¨μΆμ μν΄ used λ°°μ΄μ ν΅ν΄ μ«μκ° κ±°μ³κ°λμ§ νμΈνλ€.
===μ΄λ₯Ό ν΅ν΄ x-arr[i] λ₯Ό ν΅ν μΈλ±μ€ μ«μκ° μκ³ μμμ νλ¨νκ³
===true μΌ κ²½μ° μΉ΄μ΄νΈ ν μ μλ€.
#include <bits/stdc++.h>
using namespace std;
int arr[1000005];
bool used[2000001];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n, x, cnt;
cin >> n;
for(int i=1; i<=n; i++){
cin >> arr[i];
}
cin >> x;
cnt = 0;
for(int i=1; i<=n; i++){
if(x-arr[i]>0 && used[x-arr[i]])
cnt++;
used[arr[i]]=true;
}
cout << cnt << '\n';
return 0;
}