μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- λ¨Έμ§μνΈ
- λ°±μ€
- ꡬν
- κ·Έλννμ
- κ·Έλν
- skala1κΈ°
- μμνμ
- μκ³ λ¦¬μ¦
- BFS
- DFS
- λμ κ³νλ²
- λ€μ΄λλ―Ήνλ‘κ·Έλλ°
- 그리λ
- λμ ν©
- κΉμ΄μ°μ νμ
- νλ‘κ·Έλλ¨Έμ€
- μν
- LIS
- μ λ ¬
- νμ΄μ¬
- μ°μ μμν
- μ€λΈμ
- λ³ν©μ λ ¬
- ν°μ€ν 리μ±λ¦°μ§
- λ°μ΄ν°λ² μ΄μ€
- DP
- skala
- SQL
- λλΉμ°μ νμ
- db
- Today
- Total
πππ°πΈ π£πΆπ΅ π΄π΅π¦π’π₯πΊ
[λ°±μ€] 1756λ²: νΌμ κ΅½κΈ° - C++ λ³Έλ¬Έ
λ¬Έμ
μλνΌμ μμ£Ό μ§μ μμ Nκ°μ νΌμ λ°μ£½μ μ€λΈμ λ£κ³ ꡬμ°λ €κ³ νλ€. κ·Έλ°λ°, μλνΌμμμ λ§λλ νΌμ λ°μ£½μ μ§λ¦μ΄ μ κ°κ°μ΄λ€. κ·Έλ°κ°νλ©΄, μλνΌμμμ μ¬μ©νλ μ€λΈμ λͺ¨μλ λͺΉμ μ€λ¬νλ€. μ΄ μ€λΈμ κΉμ κ΄μ²λΌ μκ²Όλλ°, κ΄μ μ§λ¦μ΄ κΉμ΄μ λ°λΌ λ€μλ μνκ² λ³νλ€. μλλ μ€λΈμ λ¨λ©΄ μμμ΄λ€.

νΌμ λ°μ£½μ μμ±λλ μμλλ‘ μ€λΈμ λ€μ΄κ°λ€. μ΄λ κ² Nκ°μ νΌμκ° μ€λΈμ λͺ¨λ λ€μ΄κ°κ³ λλ©΄, 맨 μμ νΌμκ° μΌλ§λ κΉμ΄ λ€μ΄κ° μλμ§κ° κΆκΈνλ€. μ΄λ₯Ό μμλ΄λ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ μ€λΈμ κΉμ΄ Dμ νΌμ λ°μ£½μ κ°μ Nμ΄ κ³΅λ°±μ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. (1 ≤ D, N ≤ 300,000) λμ§Έ μ€μλ μ€λΈμ μ΅μλ¨λΆν° μμνμ¬ κΉμ΄μ λ°λ₯Έ μ€λΈμ μ§λ¦μ΄ μ°¨λ‘λλ‘ μ£Όμ΄μ§λ€. μ μ§Έ μ€μλ νΌμ λ°μ£½μ΄ μμ±λλ μμλλ‘, κ·Έ κ°κ°μ μ§λ¦μ΄ μ£Όμ΄μ§λ€. μ€λΈμ μ§λ¦μ΄λ νΌμ λ°μ£½μ μ§λ¦μ 10μ΅ μ΄νμ μμ°μμ΄λ€.
μΆλ ₯
첫째 μ€μ, λ§μ§λ§ νΌμ λ°μ£½μ μμΉλ₯Ό μΆλ ₯νλ€. μ€λΈμ μ΅μλ¨μ΄ 1μ΄κ³ , μ΅νλ¨ κ°μ₯ κΉμ κ³³μ΄ Dμ΄ λλ€. λ§μ½ νΌμκ° λͺ¨λ μ€λΈμ λ€μ΄κ°μ§ μλλ€λ©΄, 0μ μΆλ ₯νλ€.
λ³κ±° μλλΌ μκ°νλλ° κ³¨λ 5μΈλ°λ μ΄μ κ° μλ λ¬Έμ .. μ무 μκ° μμ΄ μ΄μ€ forλ¬Έμ μ¬μ©ν΄μ μ½κ² νλ €κ³ νλ©΄ 2μ΄μ λλν μκ°μμλ D, Nμ μ«μ λ²μλλ¬Έμ μκ°μ΄κ³Όκ° λλ€.
μ΄λ°μμΌλ‘ ννΈκ° μ£Όμ΄μ§λλ°, μ¬κΈ°μ μκ°ν΄μΌ λ μ μ μ무리 μ§λ¦μ΄ 6μΈ κ΅¬κ°μ΄ μ‘΄μ¬νμ¬λ, μ΅μλ¨μ μ§λ¦μ΄ 5μ΄λ©΄ μ§λ¦μ΄ 6 μ΄μμ νΌμλ λ€μ΄κ° μ μλ€λ κ²μ΄λ€. λ°λΌμ μ§λ¦μ΄ μ’μμ§λ λλ‘ μλ μ¬μ§κ³Ό κ°μ ꡬ쑰μ μ€λΈμ΄λΌκ³ μκ°ν΄μ€ λ€, μ΅νλ¨λΆν° νμ¬ νΌμμ μ§λ¦ ν¬κΈ°μ λΉκ΅ν΄μ€λ€.
μ΄λΆνμμΌλ‘ νΈλ λ°©λ²λ μμΌλ, (μ λͺ¨λ₯΄λ κ΄κ³λ‘γ γ )κ°λ¨νκ² O(N) λ°©μμΌλ‘λ§ νμλ€.
μ½λ
#include <cstdio>
#include <vector>
using namespace std;
int main(void) {
int D, N;
scanf("%d %d", &D, &N);
vector<int> oven(D);
vector<int> pizza(N);
for(int i = 0; i < D; i++) {
scanf("%d", &oven[i]);
if(i != 0 && oven[i - 1] < oven[i]) oven[i] = oven[i - 1];
}
for(int i = 0; i < N; i++) {
scanf("%d", &pizza[i]);
}
int count = 0;
for(int i = D - 1; i >= 0; i--) {
if(pizza[count] <= oven[i]) count++;
if(count == N) {
printf("%d\n", i + 1);
return 0;
}
}
printf("0\n");
return 0;
}
'μ½λ©ν μ€νΈ μ€λΉ > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 1222λ²: νμ€ νλ‘κ·Έλλ° λν - C++ (0) | 2022.01.18 |
---|---|
[λ°±μ€] 3024λ²: λ§λΌν€ ν±νν - C++ (0) | 2022.01.17 |
[λ°±μ€] 2840λ²: νμ΄μ λ°ν΄ - C++ (0) | 2022.01.13 |
[λ°±μ€] 5624λ²: μ’μ μ - C++ (0) | 2022.01.12 |
[λ°±μ€] 1991λ²: νΈλ¦¬ μν - C++ (0) | 2022.01.05 |