본문 바로가기
Algorithm/📖Baekjoon

#11659 구간 합 구하기 4

by yewoneeee 2022. 8. 8.

# 문제

# 입력 및 출력

# 풀이

처음엔 구간만큼 반복문으로 합을 구했더니 시간 초과가 떴다

그래서 dp를 쓰면 좋겠다고 생각했다

누적 합을 순서대로 저장해두고 구간을 입력받으면 바로 배열에 접근해서 빼주기만 하면 되기 때문에

반복문의 수도 확실히 줄어든다

 

이렇게 해도 시간초과가 뜨길래;

입력이랑 출력이 많아서 그런가 해서 

ios_base::sync_with_stdio(false);
cin.tie(0), cout.tie(0);

코드를 넣어주니까 해결됐음

 

#include <iostream>
using namespace std;
int acc[100001];

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	int n, m, t;
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		cin >> t;
		acc[i] = acc[i - 1] + t;
	}
	for (int i = 0; i < m; i++) {
		int s, e;
		cin >> s >> e;
		cout << acc[e] - acc[s - 1] << "\n";
	}
}

 

 

혹시나 이전 코드도 cin, cout tie 코드를 넣어주면 해결되나 싶어서 넣어봤는데

역시 시간초과가 뜨더라

'Algorithm > 📖Baekjoon' 카테고리의 다른 글

#11051 이항 계수 2  (0) 2022.08.12
#3036 링  (0) 2022.08.10
#1676 팩토리얼 0의 개수  (0) 2022.08.06
#18352 특정 거리의 도시 찾기  (0) 2022.08.05
#1449 수리공 항승  (0) 2022.08.04

댓글