๐ ๋งํฌ
https://www.acmicpc.net/problem/13904
๐คฏ ํ์ค ํ๊ธฐ
์ด๋ฌด์ง์ ๊ณผ์ ๊ณก ๋ ธ๋ ์ข์ต๋๋ค.
๐คท ๋ฌธ์
๐ฉ๐ป ํ์ด
์ ํ์ ์ธ ๊ทธ๋ฆฌ๋ ๋ฌธ์ ์ด๋ค.
ํต์ฌ ์์ด๋์ด๋
์ ์๊ฐ ๊ฐ์ฅ ํฐ ๊ณผ์ ๋ถํฐ ์์ํ๋ค ๋ค๋ง ๊ณผ์ ๋ ์ต๋ํ ๋ง๊ฐ์ผ์ ๋ง์ถฐ์ ์ํํด์ผํ๋ค.
๊ณผ์ ๋ ๋ฏธ๋ฃจ๋๊ฒ ์ ๋ง์ด์ง!
์ฒ์์ ๋ง๊ฐ ๊ธฐํ ์์๋๋ก ์ ๋ ฌํด์ ํธ๋ ๋ฌธ์ ์ธ๊ฐ ํ๊ณ ๊ณ ๋ฏผํ๋๋ฐ wa ๋ฅผ ๋ฐ์์ ์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํด์ ์๊ฐํด๋ณด์๋ค.
์ ์๊ฐ ๊ฐ์ฅ ํฐ ๊ณผ์ ๋ถํฐ ์์ํ๋ ๊ฑด ๋ง๊ณ , ํด๋น ๊ณผ์ ๋ฅผ ๋ง๊ฐ์ผ์ ๋ง์ถฐ์ ์ํํ๋ค๋ ๊ฒ์ ์์์ผ ํ ์ ์๋ค.
๊ตฌํ์ day ๋ฐฐ์ด์ ๋ง๋ค์ด day[๋ง๊ฐ๊ธฐํ] ~ day[1] ๊น์ง ์์๋๋ก ๋๋ฉด์ ๋น์ด์๋ ๊ณณ์ด ์๋ค๋ฉด ํด๋น ๋ ์ง์ ์ํํ๋ ๊ฒ์ผ๋ก ํ์ํ๊ณ ์ ์๋ฅผ ๋ํด์ฃผ์๋ค.
๐ป ์ฝ๋
//AC
//BOJ 13904 ๊ณผ์
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <string>
using namespace std;
vector<pair<int, int>> v;
bool cmp(const pair<int, int> &a, const pair<int, int> &b) {
return a.second > b.second;
}
int day[1001];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int N;
cin >> N;
for(int i=0; i<N; i++) {
int d, w;
cin >> d >> w;
v.push_back({d, w});
}
sort(v.begin(), v.end(), cmp);
int maxW = 0;
for(int i=0; i<N; i++) {
int curD = v[i].first;
int curW = v[i].second;
for(int j = curD; j >= 1; j--) {
if(!day[j]) {
day[j] = 1;
maxW += curW;
break;
}
}
}
cout << maxW;
return 0;
}
'DEV > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ/11280] 2-SAT - 3, c++ (2) | 2021.08.19 |
---|---|
[BOJ/17222] ์์คํค ๊ฑฐ๋, c++ (2) | 2021.08.12 |
[BOJ/22352] ํญ์ฒด์ธ์, c++ (0) | 2021.08.05 |
[BOJ/16118] ๋ฌ๋น ์ฌ์ฐ, c++ (0) | 2021.07.25 |
[BOJ/20136] ๋ฉํฐํญ ์ค์ผ์ค๋ง 2 (0) | 2021.06.26 |