Algorithm πŸ§‘πŸ»‍πŸ’»/λ°±μ€€(BOJ)

[λ°±μ€€,c++] 10818번 - μ΅œμ†Œ, μ΅œλŒ€

dkswnkk 2021. 10. 24. 22:12

https://www.acmicpc.net/problem/10818

 

10818번: μ΅œμ†Œ, μ΅œλŒ€

첫째 쀄에 μ •μˆ˜μ˜ 개수 N (1 ≤ N ≤ 1,000,000)이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ μ€„μ—λŠ” N개의 μ •μˆ˜λ₯Ό κ³΅λ°±μœΌλ‘œ κ΅¬λΆ„ν•΄μ„œ μ£Όμ–΄μ§„λ‹€. λͺ¨λ“  μ •μˆ˜λŠ” -1,000,000보닀 ν¬κ±°λ‚˜ κ°™κ³ , 1,000,000보닀 μž‘κ±°λ‚˜ 같은 μ •μˆ˜μ΄λ‹€.

www.acmicpc.net

1λ²ˆν’€μ΄

#include <iostream>
#include <vector>
#include <queue>
using namespace std;

int main() {

    int N;
    cin >> N;
    priority_queue<int, vector<int>, greater<int>>pq1; //μž‘μ€ μˆœμ„œλŒ€λ‘œ
    priority_queue<int, vector<int>,less<int>>pq2; //큰 μˆœμ„œλŒ€λ‘œ

    for (int i = 0; i < N; i++) {
        int number;
        cin >> number;
        pq1.push(number);
        pq2.push(number);
    }
    cout << pq1.top() <<"\n"<< pq2.top();


}

2λ²ˆν’€μ΄

#include <iostream>
#include<vector>
using namespace std;

int main() {
    int N;
    cin >> N;
    vector<int> v;

    for (int i = 0; i < N; i++) {
        int number;
        cin >> number;
        v.push_back(number);
    }
    int max = v[0];
    int min = v[0];
    for (int i = 0; i < N; i++) {
        if (max <= v[i]) max = v[i];
        if (min >= v[i]) min = v[i];
    }
    cout << min << " " << max;

}