๐Ÿ•๏ธ ICPC Sinchon/Greedy

[BOJ][C++] ๋ฐฑ์ค€ 14659๋ฒˆ: ํ•œ์กฐ์„œ์—ด์ •๋ฆฌํ•˜๊ณ ์˜ดใ…‹ใ…‹

์„ ๋‹ฌ 2023. 1. 31. 00:15
๋ฐ˜์‘ํ˜•

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

 

14659๋ฒˆ: ํ•œ์กฐ์„œ์—ด์ •๋ฆฌํ•˜๊ณ ์˜ดใ…‹ใ…‹

์ฒซ์งธ ์ค„์— ๋ด‰์šฐ๋ฆฌ์˜ ์ˆ˜ ๊ฒธ ํ™œ์žก์ด์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 30,000) ๋‘˜์งธ ์ค„์— N๊ฐœ ๋ด‰์šฐ๋ฆฌ์˜ ๋†’์ด๊ฐ€ ์™ผ์ชฝ ๋ด‰์šฐ๋ฆฌ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ ๋†’์ด ≤ 100,000) ๊ฐ๊ฐ ๋ด‰์šฐ๋ฆฌ์˜ ๋†’์ด๋Š” ์ค‘๋ณต ์—†์ด

www.acmicpc.net

 

๋ฌธ์ œ

“๋ฐ˜๊ฐ‘๋‹ค. ๋‚ด ์ด๋ฆ„์€ ๋ฐ˜๊ณ ํ#31555! ์กฐ์„  ์ตœ๊ณ ์˜ ํ™œ์žก์ด์ง€. ์˜ค๋Š˜๋„ ๋‚œ ๊ธˆ๊ฐ•์‚ฐ ์œ„์—์„œ ์ ๋“ค์„ ๋…ธ๋ฆฌ๊ณ  ์žˆ์ง€. ๋‚ด ์•ž์— ์žˆ๋Š” ์ ๋“ค์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋„ ๋†“์น˜์ง€ ์•Š์•„! ์ข‹์•„, ์ด์ œ ๊ณง ์›”์‹์ด ์‹œ์ž‘๋˜๋Š”๊ตฐ. ์›”์‹์ด ์‹œ์ž‘๋˜๋ฉด ์šฉ์ด ์ ๋“ค์„ ์ง‘์–ด์‚ผํ‚ฌ ๊ฒƒ์ด๋‹ค. ์ž˜ ๋ด๋‘์–ด๋ผ! ๋งˆ์žฅ๋™ ํ™œ์žก์ด ๋ฐ˜๊ณ ํ#31555๋‹˜์˜ ์‹ค๋ ฅ์„-!”

๋ฐ˜๊ณ ํ#31555๋Š” ์ž๊ธฐ ๋’ค์ชฝ ๋ด‰์šฐ๋ฆฌ์— ๋ฉ๊ธฐ#3958์ด ์žˆ์Œ์„ ์ „ํ˜€ ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ๋‹ค. ๋ฉ๊ธฐ#3958๋„ ๋ฐ˜๊ณ ํ#31555์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์›”์‹์ด ์‹œ์ž‘๋˜๋ฉด ์šฉ์„ ๋ถˆ๋Ÿฌ๋‚ด์–ด ๋ˆˆ์•ž์— ์žˆ๋Š” ๋‹ค๋ฅธ ํ™œ์žก์ด๋“ค์„ ๋ชจ๋‘ ์ฒ˜์น˜ํ•  ์ƒ๊ฐ์ด๋‹ค. ์‚ฌ์‹ค, ๋ฐ˜๊ณ ํ#31555์™€ ๋ฉ๊ธฐ#3958 ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ธˆ๊ฐ• ์‚ฐ๋งฅ์˜ N๊ฐœ ๋ด‰์šฐ๋ฆฌ์— ์žˆ๋Š” ๋ชจ๋“  ํ™œ์žก์ด๋“ค์ด ๊ฐ™์€ ์ƒ๊ฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๋ฐ˜๊ณ ํ#31555๊ฐ€ ์žˆ๋Š” ๊ธˆ๊ฐ• ์‚ฐ๋งฅ์—๋Š” ์ด N๊ฐœ์˜ ๋ด‰์šฐ๋ฆฌ๊ฐ€ ์žˆ๊ณ , ๋ชจ๋“  ๋ด‰์šฐ๋ฆฌ๋งˆ๋‹ค ํ•œ ๋ช…์˜ ํ™œ์žก์ด๊ฐ€ ์„œ์„œ ์›”์‹์ด ์‹œ์ž‘๋˜๊ธฐ๋งŒ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค. ๋‹ค๋งŒ, ์• ์„ํ•˜๊ฒŒ๋„, ์ฒœ๊ณ„์— ๋งฅ๋„๋‚ ๋“œ๊ฐ€ ์ƒ๊ฒจ ์šฉ๋“ค์ด ์‚ด์ด ์ฐ ํƒ“์— ์šฉ๋“ค์€ ์ž์‹ ๋ณด๋‹ค ๋‚ฎ์€ ๋ด‰์šฐ๋ฆฌ์— ์„œ์žˆ๋Š” ์ ๋“ค๋งŒ ์ฒ˜์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋˜ํ•œ ์šฉ๋“ค์€ ์ฒ˜์Œ ์ถœ๋ฐœํ•œ ๋ด‰์šฐ๋ฆฌ๋ณด๋‹ค ๋†’์€ ๋ด‰์šฐ๋ฆฌ๋ฅผ ๋งŒ๋‚˜๋ฉด ๊ทธ๋Œ€๋กœ ๊ณต๊ฒฉ์„ ํฌ๊ธฐํ•˜๊ณ  ๊ธˆ๊ฐ•์‚ฐ์ž๋ฝ์— ๋“œ๋Ÿฌ๋ˆ„์›Œ ๋‚ฎ์ž ์„ ์ฒญํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋ด‰์šฐ๋ฆฌ์˜ ๋†’์ด๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ณ  ๋ชจ๋“  ์šฉ๋“ค์€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ๋งŒ ๋‚˜์•„๊ฐ€๋ฉฐ, ์ค‘๊ฐ„์— ๋ฐฉํ–ฅ์„ ํ‹€๊ฑฐ๋‚˜, ๋ด‰์šฐ๋ฆฌ๊ฐ€ ๋ฌด๋„ˆ์ง€๊ฑฐ๋‚˜ ์†Ÿ์•„๋‚˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค.

“๋‹ฌ์— ๋งˆ๊ตฌ๋‹ˆ๊ฐ€ ๋ผ์—ˆ๊ตฌ๋‚˜.”

๋“œ๋””์–ด ์›”์‹์ด ์‹œ์ž‘๋๋‹ค! ๊ณผ์—ฐ ์ด๋“ค ํ™œ์žก์ด ์ค‘ ์ตœ๊ณ ์˜ ํ™œ์žก์ด๋Š” ๋ˆ„๊ตฌ์ผ๊นŒ? ์ตœ๊ณ ์˜ ํ™œ์žก์ด๊ฐ€ ์ตœ๋Œ€ ๋ช‡ ๋ช…์˜ ์ ์„ ์ฒ˜์น˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋ด‰์šฐ๋ฆฌ์˜ ์ˆ˜ ๊ฒธ ํ™œ์žก์ด์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 30,000) ๋‘˜์งธ ์ค„์— N๊ฐœ ๋ด‰์šฐ๋ฆฌ์˜ ๋†’์ด๊ฐ€ ์™ผ์ชฝ ๋ด‰์šฐ๋ฆฌ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ ๋†’์ด ≤ 100,000) ๊ฐ๊ฐ ๋ด‰์šฐ๋ฆฌ์˜ ๋†’์ด๋Š” ์ค‘๋ณต ์—†์ด ์œ ์ผํ•˜๋‹ค.

์ถœ๋ ฅ

์ตœ๊ณ ์˜ ํ™œ์žก์ด๊ฐ€ ์ฒ˜์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์˜ ์ตœ๋Œ€ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

// Authored by : seondal
// Co-authored by : -

// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    
    int n;
    cin >> n;
    vector<int> v(n);
    for(int i=0; i<n; i++)
        cin >> v[i];
    
    int cur = v[0], cnt = 0;
    vector<int> vv;
    for(int i=1; i<n; i++) {
        if(cur < v[i]) {
            vv.push_back(cnt);
            cnt = 0;
            cur = v[i];
        } else {
            cnt++;
        }
    }
    vv.push_back(cnt);
    
    sort(vv.begin(), vv.end(), greater<>());
    cout << vv[0];
    
    return 0;
}

/*
 */
๋ฐ˜์‘ํ˜•