λ¬Έμ
μ§κΈ ꡬλ μμ 곡μκ²λ μλμΌλ‘λΆν° μ£Όλ¬Έ λ°κ³ μ μν΄μΌ ν μμ
μ΄ Nκ° μμ¬μλ€. ꡬλ μμ 곡μ ν루μ ν μμ
λ§ μνν μ μκ³ , iλ²μ§Έ μμ
μ μλ£νλ λ° TiμΌμ΄ κ±Έλ¦°λ€. μ΄λ Tiλ μ μμ΄κ³ 1 ≤ Ti≤ 1000μ΄λ€.
iλ²μ§Έ μμ
μ μμνκΈ° μ μ νλ£¨κ° μ§μ°λ λλ§λ€ ꡬλ μμ 곡μ 보μκΈ SiμΌνΈλ₯Ό μ§λΆν΄μΌ νλ€. μ΄λ Siλ μ μμ΄κ³ 1 ≤ Si≤ 10000μ΄λ€. ꡬλ μμ 곡μ λκΈ° μν΄ μ΅μ 보μκΈμ μ§λΆνλ μμ
μμλ₯Ό μ ν΄μΌ νλ€.
ν루μ 2κ° μ΄μμ μμ
μ λμμ μνν μ μλ€. μμ
iλ₯Ό μννκ³ μλ κ²½μ°, μμ
iλ₯Ό λ§μΉ λ κΉμ§ μμ
i μΈμ λ€λ₯Έ μμ
μ μνν μ μλ€.
μ λ ₯
1 ≤ N ≤ 1000 λ²μμ μ μ Nμ΄ μ²« λ²μ§Έ μ€μ μ£Όμ΄μ§λ€. λ€μ Nκ° μ€μ κ±Έμ³μ 첫 λ²μ§Έ μ΄μλ T1… TNμ΄ μ λ ₯λλ©°, λ λ²μ§Έ μ΄μλ S1… SNμ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
μ΅μ 보μκΈμ μ§λΆνλ μμ μμλ₯Ό μΆλ ₯ν΄μΌ νλ€. λͺ¨λ μμ μ μ λ ₯μμμ λ²νΈ(1~N)λ‘ νμν΄μΌ νλ€. λͺ¨λ μ μλ ν μ€λ‘ νμν΄μΌ νλ©°, κ° μμ μ 곡백 λ¬Έμλ‘ κ΅¬λΆνλ€. μ¬λ¬ κ°μ§ ν΄λ΅μ΄ λμ¬ μ μλ€λ©΄ μ€λ¦μ°¨μ μ λ ¬μ μν΄ κ°μ₯ 첫 λ²μ§Έ ν΄λ΅μ μΆλ ₯νλ€.
νμ΄
s/t, μ¦ λ§κ°νλ λ μ§ λΉ λ³΄μκΈμ κΈ°μ€μΌλ‘ κ·Έ λΉκ° ν° μΌ λΆν° λ¨Όμ μ²λ¦¬ν΄μΌνλ€
νμλ tupleμ μ΄μ©ν΄ μΈλ±μ€μ sμ tλ₯Ό λ€ λ£κΈ΄ νλλ°, κ·Έλ₯ pairλ‘ ν΄μ μΈλ±μ€μ s/tλ₯Ό λ°λ‘ λ£λκ² ν¨μ¬ λμ κ² κ°λ€.
λΉμ¨μ΄ κ°λ€λ©΄ μΈλ±μ€κ° λ μμκ±Έ λ¨Όμ λ°°μΉνλ€
(λ¬Έμ λ§μ§λ§ μ€μ μμ.
μ΄κ±° μ²λ¦¬ μνλ©΄ 7νΌμΌνΈμμ νλ Έμ΅λλ€ λΈ)
// νμ΄ : https://whkakrkr.tistory.com
#include <iostream>
#include <vector>
#include <tuple>
#include <algorithm>
using namespace std;
typedef tuple<int, int, int> ci;
bool cmp(ci a, ci b) {
float a_ratio = (float) get<2>(a) / get<1>(a);
float b_ratio = (float) get<2>(b) / get<1>(b);
if(a_ratio == b_ratio) {
return get<0>(a) < get<0>(b);
}
return a_ratio > b_ratio;
}
int main() {
ios_base::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
// input
int n;
float t,s;
cin >> n;
vector<ci>v;
for(int i=1; i<=n; i++) {
cin >> t >> s;
v.push_back(make_tuple(i, t, s));
}
// solution
sort(v.begin(), v.end(), cmp);
// output
for(int i=0; i<n; i++) {
cout << get<0>(v[i]) << " ";
}
return 0;
}
'ποΈ ICPC Sinchon > Greedy' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ][C++] λ°±μ€ 2109λ²: μνκ°μ° (Gold III) (0) | 2025.02.11 |
---|---|
[BOJ][C++] λ°±μ€ 1715λ²: μΉ΄λ μ λ ¬νκΈ° (Gold IV) (0) | 2025.02.10 |
[BOJ][C++] λ°±μ€ 16206λ²: λ‘€μΌμ΄ν¬ (0) | 2023.04.12 |
[BOJ][C++] λ°±μ€ 27112λ²: μκ° μΈ κ·Όλ¬΄ λ©μΆ°! (0) | 2023.02.01 |
[BOJ][C++] λ°±μ€ 11501λ²: μ£Όμ (0) | 2023.01.31 |