๐จ ๋ฌธ์
๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/3985
- ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ: ๊ตฌํ
- ๋์ด๋: Bronze 1
๋๋ณด๊ธฐ
๊ธธ์ด L๋ฏธํฐ ์ง๋ฆฌ ๋กค์ผ์ดํฌ๋ฅผ ๋ฐฉ์ฒญ๊ฐ N๋ช ์๊ฒ ๋๋ ์ฃผ๋ ค๊ณ ํ๋ค.
1๋ฒ๋ถํฐ N๋ฒ๊น์ง์ ๋ฐฉ์ฒญ๊ฐ๋ค์ ์ฐจ๋ก๋๋ก ๊ฐ๊ฐ ์ํ๋ ์กฐ๊ฐ์ ๋ฒ์ ์กฐ๊ฐP๋ถํฐ~์กฐ๊ฐK๊น์ง ๊ฐ์ ธ๊ฐ๋ค.
์ด๋ ์ด๋ฏธ ๊ฐ์ ธ๊ฐ ์กฐ๊ฐ์ ๋ท์ฌ๋์ด ์ํ๋๋ผ๋ ๋ฐ์ง ๋ชปํ๋ค.
๊ฐ์ฅ ๋ง์ ์กฐ๊ฐ์ ์ํ๋ ๋ฐฉ์ฒญ๊ฐ์ ๋ฒํธ, ์ค์ ๋ก ๊ฐ์ฅ ๋ง์ ์กฐ๊ฐ์ ๊ฐ์ ธ๊ฐ ๋ฐฉ์ฒญ๊ฐ์ ๋ฒํธ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ค.
๋จ, ๋ต์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ์๋ ๋ฒํธ๊ฐ ์์ ์ฌ๋์ ์ถ๋ ฅํ๋ค.
๐ฌ ํ์ด
๐ฉโ๐ป ์ฝ๋
C++
#include <iostream>
#include <algorithm>
using namespace std;
int cake[1001]; // ์ผ์ดํฌ ์กฐ๊ฐ ๋ณ๋ก ๋ฐฉ์ฒญ๊ฐ ๋ฒํธ
int cnt[1001]; // ๋ฐฉ์ฒญ๊ฐ ๋ฒํธ ๋ณ๋ก ์ค์ ๋ฐ๊ฒ๋๋ ์ผ์ดํฌ ์
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
int L, N;
cin >> L >> N;
int st, en, _max=-1, _max_index=-1;
for (int i = 1; i <= N; i++) {
cin >> st >> en;
for (int j = st; j <= en; j++) {
if (cake[j] == 0) { // ์ผ์ดํฌ ๋ฐฐ์ด์ด ๋น์ด์๋ ๊ฒฝ์ฐ์๋ง ๊ฐฑ์
cake[j] = i;
}
}
if (en-st+1 > _max) { // _max๋ฅผ ์ด๊ณผ ์ _max_index ๊ฐฑ์
_max = en-st+1;
_max_index = i;
}
}
cout << _max_index << '\n';
for (int i = 1; i <= L; i++) {
if (cake[i] > 0) cnt[cake[i]]++; // ๋ฐฉ์ฒญ๊ฐ ๋ณ๋ก ์ค์ ๋ฐ๊ฒ๋๋ ์ผ์ดํฌ ์ ์นด์ดํธ
}
_max=-1, _max_index=-1;
for (int i = 1; i <= N; i++) { // _max๋ฅผ ์ด๊ณผ ์ _max_index ๊ฐฑ์
if (cnt[i] > _max) {
_max = cnt[i];
_max_index = i;
}
}
cout << _max_index << '\n';
return 0;
}
'Coding Test > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค #4673. ์ ํ ๋๋ฒ (0) | 2022.02.20 |
---|---|
[BOJ] ๋ฐฑ์ค #1543. ๋ฌธ์ ๊ฒ์ (0) | 2022.02.19 |
[BOJ] ๋ฐฑ์ค #1920. ์ ์ฐพ๊ธฐ (C++) (0) | 2022.02.18 |
[BOJ] ๋ฐฑ์ค #1431. ์๋ฆฌ์ผ ๋ฒํธ (C++) (0) | 2022.02.16 |
[BOJ] ๋ฐฑ์ค #1026. ๋ณด๋ฌผ (C++) (0) | 2022.02.16 |