반응형
✏️ 문제 링크
https://www.acmicpc.net/problem/1806
1806번: 부분합
첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다.
www.acmicpc.net
✏️ 문제 설명 (더보기 클릭 👆🏻)
✏️ 문제 풀이
✏️ 문제 코드
#include <bits/stdc++.h>
using namespace std;
int main(){
int N, S; cin>>N>>S;
int num[100001];
for(int i=0; i<N; i++){
cin>>num[i];
}
int len=N+1, sum=num[0];
int low=0, high=0;
while(low<=high and high<N){
if(sum<S){
sum+=num[++high];
}else{
len= min(len, high-low+1);
sum-=num[low++];
}
}
if(len==N+1)len=0;
cout<<len<<"\n";
return 0;
}
⭐ if feedback and question : comment please⭐
반응형
'Algorithm 💫 > Problem Solving' 카테고리의 다른 글
[백준] 1260번: DFS와 BFS / C++ (0) | 2021.09.15 |
---|---|
[백준] 1916: 최소비용 구하기/ 다익스트라 / C++ ⭐ (0) | 2021.09.15 |
[백준] 1700번: 멀티탭 스케줄링 / C++ (0) | 2021.09.14 |
[백준] 1062번: 가르침 / C++ (0) | 2021.09.14 |
[백준] 2504번: 괄호의 값 / C++ (0) | 2021.09.14 |
댓글