https://www.acmicpc.net/problem/11256
๋ฌธ์
๋น์ ์ ์ฌํ ๊ณต์ฅ์ ์ฃผ์ธ์ด๋ค. ๋ ๋ง๋ค, ๋น์ ์ J๊ฐ์ ์ฌํ์ ๊ฐ๊ฒ์ ๋ณด๋ด๊ธฐ ์ํด ์์์ ํฌ์ฅํด์ผ ํ๋ค.
๋น์ ์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ์์ N๊ฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋น์ ์ ํธ๋ฆฌ๋ฅผ ์ํด ์์๋ฅผ ์ต์ํ์ผ๋ก ์ฐ๋ ค๊ณ ํ๋ค. (๋ฐ์ค๋ฅผ ๋ค ์ฑ์ธ ํ์๋ ์๋ค. ์ผ๋ถ๋ถ๋ง ์ฑ์๋ ๋๋ค.)
๋น์ ์ด ๊ณต์ฅ์์ ๋์ค๋ ์ฌํ์ ๊ฐ์์ ๊ฐ ์์์ ํฌ๊ธฐ๋ฅผ ์ ๋ ฅ๋ฐ๊ณ , ์์๋ฅผ ์ต์ํ์ผ๋ก ์ธ ๋์ ์ฌ์ฉ๋๋ ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ. ์ฌํ๋ค์ ํฌ์ฅํ ๊ณต๊ฐ์ ์ถฉ๋ถํ๋ค๋ ๊ฒ์ด ๋ณด์ฅ๋๋ค.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T (1 ≤ T ≤ 10)๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ ์๋ ํ์์ ๋ฐ๋ฅธ๋ค.
ํ ์คํธ ์ผ์ด์ค์ ์ฒซ ๋ฒ์งธ ์ค์๋ ์ฌํ์ ๊ฐ์ J์ ์์์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ J, N ≤ 1,000)
๋ค์ N๊ฐ์ ์ค์๋ ๊ฐ๊ฐ ์ค๋ง๋ค i๋ฒ์งธ ์์์ ์ธ๋ก ๊ธธ์ด Ri ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ก ๊ธธ์ด Ci๊ฐ ์ฃผ์ด์ง๋ค. ์์์ ํฌ๊ธฐ๋ ๋ค๋ฅธ ์์์ ํฌ๊ธฐ์ ๋๊ฐ์ ์๋ ์๋ค. ์์์๋ Ri * Ci๋ณด๋ค ๋ ๋ง์ ์ฌํ์ ํฌ์ฅํ ์ ์๋ค. (1 ≤ Ri, Ci ≤ 10,000)
์ถ๋ ฅ
์ถ๋ ฅ์ T๊ฐ์ ์ค๋ก ์ด๋ฃจ์ด์ง๋ค. ๊ฐ๊ฐ์ ์ค๋ง๋ค i๋ฒ์งธ ํ ์คํธ ์ผ์ด์ค์์ ์ต์ํ์ ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ์ฌ์ผ ํ๋ค.
ํ์ด
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int t;
cin >> t;
while(t--){
int j, n;
cin >> j >> n;
vector <int> box;
for(int i=0; i<n; i++){
int r, c;
cin >> r >> c;
box.push_back(r*c);
}
sort(box.begin(), box.end());
int cnt = 0;
for(int i=n-1; i>0; i--){
j -= box[i];
cnt++;
if(j <= 0) break;
}
cout << cnt << "\n";
}
return 0;
}
'๐ฆ Chango > ๐ฃ EDOC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 9237๋ฒ : ์ด์ฅ๋ ์ด๋ (0) | 2021.11.17 |
---|---|
[Segfault][BOJ][C++] ๋ฐฑ์ค 1753๋ฒ : ์ต๋จ๊ฒฝ๋ก (0) | 2021.11.16 |
[BOJ][C++] ๋ฐฑ์ค 1058๋ฒ : ์น๊ตฌ (0) | 2021.11.10 |
[BOJ][C++] 16395๋ฒ: ํ์คํฌ์ ์ผ๊ฐํ (0) | 2021.11.03 |
[BOJ][C++] ๋ฐฑ์ค 2670๋ฒ: ์ฐ์๋ถ๋ถ์ต๋๊ณฑ (0) | 2021.11.03 |