2003 수들의 합
문제 링크
- 나의 풀이
투 포인터 알고리즘 : 연속적인 값을 이용하여 특정 목표에 맞는 값을 찾아주는 알고리즘
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int N, M;
int nums[10000];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> N >> M;
for (int i = 0; i < N; i++)
{
cin >> nums[i];
}
int st = 0, ed = 0, sum = nums[ed], ans = 0;
while (ed != N)
{
if (sum >= M)
{
if (sum == M)
ans++;
sum -= nums[st];
st++;
}
else
{
ed += 1;
sum += nums[ed];
}
}
cout << ans << "\n";
return 0;
}
댓글남기기