지우너
[코드트리] 가장 짧은 부분합 C++ 본문
문제
https://www.codetree.ai/missions/8/problems/shortest-subtotal?&utm_source=clipboard&utm_medium=text
코드
#include <iostream>
using namespace std;
const int MAX_N = 100001;
int n, s;
int num[MAX_N];
int main() {
// input
cin >> n >> s;
for(int i=0; i<n; ++i){
cin >> num[i];
}
int r=0, answer=2e9;
int sum_val=0;
for(int l=0; l<n; ++l){
while(r+1<n && sum_val<s){
sum_val+=num[r];
r++;
}
if(sum_val>=s) answer = min(answer, r-l);
sum_val-=num[l];
}
answer = (answer==2e9)? -1:answer;
cout << answer << '\n';
return 0;
}
'Problem Solving' 카테고리의 다른 글
[코드트리] 정수 두 개의 합2 C++ (0) | 2024.08.23 |
---|---|
[코드트리] 겹치는 숫자가 없는 최대 구간 C++ (0) | 2024.08.22 |
[코드트리] 이상한 폭탄 C++ (0) | 2024.08.21 |
[코드트리] 균일하게 나누기2 C++ (0) | 2024.08.20 |
[코드트리] 최소 에너지 비용 (0) | 2024.08.19 |