반응형
-문제
백준 3273번 두 수의 합과 같은 문제
-코드
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int n, m, cnt=0;
scanf("%d", &n);
scanf("%d", &m);
vector<int> a(n);
for(int i =0; i<n; i++)
{
scanf("%d", &a[i]);
}
sort(a.begin(), a.end());
int p1 = 0, p2 = n - 1;
while (p1<p2)
{
if (a[p1] + a[p2] < m) p1++;
else if (a[p1] + a[p2] > m) p2--;
else
{
cnt++;
p2--;
p1++;
}
}
printf("%d", cnt);
return 0;
}
반응형
'이론 > 코딩테스트' 카테고리의 다른 글
[백준] 1697번 숨바꼭질 (BFS) (0) | 2022.07.30 |
---|---|
[백준] 2467번 용액 (투포인터 알고리즘) (0) | 2022.07.30 |
[백준] 2559번 수열 (투포인터 알고리즘) (0) | 2022.07.30 |
[백준] 3273번 두 수의 합 (투포인터 알고리즘) (0) | 2022.07.29 |
[백준] 11728번 배열 합치기 (투포인터 알고리즘) (0) | 2022.07.29 |