728x90
๋ฐ์ํ
https://level.goorm.io/exam/194982/%EC%9E%A5%EB%A7%88/quiz/1
๊ตฌ๋ฆLEVEL
๋์ด๋๋ณ ๋ค์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ์ผ๋ก์จ SW ์ญ๋์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
level.goorm.io
๊ตฌ๋ฆ ๋ ๋ฒจ 2 ๊ตฌํ๋ฌธ์ .
๋ฒ์๊ฐ n์ 1000, m์ 100000๊น์ง๋ผ์ ์์ฌ์์ฌํ๊ฒ ์ด์ค๋ฐ๋ณต๋ฌธ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค ใ ใ
๋จ์ ๊ตฌํ์ด์ง๋ง ๊ณ ๋ คํด์ผํ ์ฌํญ์ด ๋ง์์ ๊น๋ค๋ก์ ๋ค!
๋์ ํ์ด
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m, tmp1, tmp2;
vector<int> ori_list;
vector<int> k_list;
vector<int> rain_in_2days;
vector<pair<int,int>> rain_place;
// ์
๋ ฅ ๋ก์ง
cin >> n >> m;
for(int i=0; i<n; ++i) {
cin >> tmp1;
ori_list.push_back(tmp1);
k_list.push_back(tmp1);
rain_in_2days.push_back(0);
}
for(int i=0; i<m; ++i) {
cin >> tmp1 >> tmp2;
rain_place.push_back({tmp1, tmp2});
}
int day = 0;
while(day < m){
day++; // 1์ผ์ฐจ๋ถํฐ ์์
int s = rain_place[day-1].first - 1;
int e = rain_place[day-1].second - 1;
for(int i=0; i<n; ++i) {
if(rain_in_2days[i]>0) rain_in_2days[i]--; // ๋น์จ์ง ํ๋ฃจ ์ง๋๋ฉด -1
}
for(int i=s; i<=e; ++i){
k_list[i]++;
rain_in_2days[i] = 3; // ๋น 1์ผ์งธ=3, 2์ผ์งธ=2, 3์ผ์งธ=1
}
if(day%3==0){
for(int i=0; i<n; ++i) {
if(rain_in_2days[i]>0){
if(k_list[i] > ori_list[i]) k_list[i]--;
}
}
}
}
for(int i=0; i<n; ++i) {
cout << k_list[i] << " ";
}
return 0;
}
728x90
๋ฐ์ํ
'๐ ์๊ณ ๋ฆฌ์ฆ > groom' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++/groom] Lv.3 : ๊ฑฐ๋ฆฌ๋๊ธฐ (DP) (1) | 2025.04.18 |
---|---|
[C++/groom] Lv.1 : ์ธ๊ณต์ง๋ฅ ์ฒญ์๊ธฐ (0) | 2025.04.18 |