[코드그라운드] 부분배열
2017. 6. 23. 02:37ㆍ알고리즘/코드그라운드
반응형
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include <iostream> using namespace std; int Answer; int main(int argc, char** argv) { ios::sync_with_stdio(false); int T, test_case; cin >> T; for (test_case = 0; test_case < T; test_case++) { Answer = 9999999; long long n, s,num[100005], left=0,right=0; cin >> n >> s; for (int i = 0; i < n; i++) { cin >> num[i]; } long long sum = 0; while (1) { if (left > right || right > n) { break; } else if (sum < s) { sum += num[right]; right++; } else if (sum >= s) { Answer = (Answer>(right - left) ? (right - left) : Answer); sum -= num[left]; left++; } } if (Answer == 9999999) { Answer = 0; } cout << "#testcase" << test_case + 1 << endl; cout << Answer << endl; } return 0; } | cs |
반응형
'알고리즘 > 코드그라운드' 카테고리의 다른 글
[코드그라운드] 극단적인 수 (0) | 2017.07.26 |
---|---|
[코드그라운드] 김씨만 행복한 세상 (0) | 2017.06.23 |