Skip to content

BOJ 2357, 10868 : fail & idea (세그먼트 트리) #15

@yeonsssu26

Description

@yeonsssu26

다음과 같은 방법으로는 시간초과가 뜬다 😕

  1. python
n, m = map(int, input().split())

numbers = []
for i in range(n):
    numbers.append(int(input()))

for i in range(m):
    start, end = map(int,input().split())
    sub_arr = numbers[start-1 : end+1]
    print(min(sub_arr), max(sub_arr))
  1. c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
	int n, m; cin >> n >> m;
	vector<int> numbers;
	numbers.push_back(0); // init index 0
	for (int i = 1; i <= n; i++) { // 1 ~ n
		int num; cin >> num; numbers.push_back(num);
	}

	for (int i = 0; i < m; i++) {
		int start, end; cin >> start >> end;
		vector<int> sub;
		for (int j = start; j <= end; j++) {
			sub.push_back(numbers[j]);
		}
		sort(sub.begin(), sub.end());
		cout << sub[0] << " " << sub[sub.size() - 1] << "\n";
	}
	return 0;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions