μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- μκ³ λ¦¬μ¦
- SQL
- κ·Έλν
- νλ‘κ·Έλλ¨Έμ€
- λ°μ΄ν°λ² μ΄μ€
- 그리λ
- μ λ ¬
- λμ ν©
- λμ κ³νλ²
- μ€λΈμ
- LIS
- DFS
- BFS
- λ³ν©μ λ ¬
- μ°μ μμν
- db
- μλ£κ΅¬μ‘°
- νμ΄μ¬
- λ°±μ€
- ν°μ€ν 리μ±λ¦°μ§
- λλΉμ°μ νμ
- κ·Έλννμ
- μν
- ꡬν
- DP
- μμꡬνκΈ°
- μμνμ
- λ€μ΄λλ―Ήνλ‘κ·Έλλ°
- λ¨Έμ§μνΈ
- κΉμ΄μ°μ νμ
πππ°πΈ π£πΆπ΅ π΄π΅π¦π’π₯πΊ
[λ°±μ€] 1222λ²: νμ€ νλ‘κ·Έλλ° λν - C++ λ³Έλ¬Έ
[λ°±μ€] 1222λ²: νμ€ νλ‘κ·Έλλ° λν - C++
.23 2022. 1. 18. 15:10λ¬Έμ
νμ€μ΄λ νλ‘κ·Έλλ° λνλ₯Ό κ°μ΅νλ€. μ΄ λνλ μ¬λλ€μ΄ νμ μ΄λ£¨μ΄μ μ°Έκ°ν΄μΌ νλ©°, νμμ μλ νμ€μ΄κ° μ ν΄μ€λ€. νμμ΄ νμ€μ΄κ° μ ν κ°λ³΄λ€ λΆμ‘±νλ€λ©΄, κ·Έ νμ λνμ μ°Έμ¬ν μ μλ€. λͺ¨λ νμ κ°μ μμ νμμΌλ‘ μ΄λ£¨μ΄μ Έ μλ€.
λνμ μ°Έμ¬ μμ¬λ₯Ό λ°ν νκ΅λ μ΄ Nκ°μ΄λ€. κ° νκ΅λ λͺ¨λ νμμ΄ μ°Έμ¬ν μ μλ κ²½μ°μλ§ λνμ μ°Έκ°νλ€. μ¦, λ¨λ μ¬λ μμ΄ λͺ¨λ νμμ΄ νμ λ€μ΄κ° μ μμ΄μΌ νλ€.
λνλ μμ κ³Ό λ³Έμ μΌλ‘ ꡬμ±λμ΄ μλ€. λͺ¨λ νμ κ°μ νκ΅ μμμΌλ‘ μ΄λ£¨μ΄μ Έ μμ΄μΌ νλ€. μμ μμ κ° νκ΅ 1λ±νλ§ λ³Έμ μ μ§μΆνλ€.
νμ€μ΄μ λνλ μ¬ν΄κ° 첫 ν΄μ΄κΈ° λλ¬Έμ, λ§μ κ΄μ¬μ΄ νμνλ€. λ°λΌμ, λ³Έμ μ μ°Έκ°νλ μ¬λμ μλ₯Ό μ΅λκ° λλλ‘ νμμ μλ₯Ό μ νλ €κ³ νλ€. λ, λ³Έμ μ΄ μ§λ£¨ν΄μ§λ κ²μ λ§κΈ° μν΄ μ μ΄λ λ νμ΄ λ³Έμ μ μ°Έκ°ν μ μμ΄μΌ νλ€.
νμ€μ΄κ° νμμ λͺ λͺ μΌλ‘ μ ν΄μΌ λ³Έμ μ μ°Έκ°νλ μ¬λμ μκ° μ΅λκ° λλμ§ κ΅¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ νμ€μ΄μ λνμ μ°Έμ¬ μμ¬λ₯Ό λ°ν νκ΅μ μ N (2 ≤ N ≤ 200,000)μ΄ μ£Όμ΄μ§λ€.
λμ§Έ μ€μλ κ° νκ΅ νμμ μκ° μ£Όμ΄μ§λ€. νμμ μλ κ΅¬κ° [1, 2,000,000]μ ν¬ν¨λλ€.
μΆλ ₯
첫째 μ€μ νμ€μ΄μ λν λ³Έμ μ μ°Έκ°νλ μ¬λμ μμ μ΅λκ°μ μΆλ ₯νλ€.
λ§λ μ΄λ ΅κ³ 쑰건λ λ§κ³ μ¬λ¬λͺ¨λ‘ λ¬Έμ μ΄ν΄λΆν° νλ€μλ€γ γ
μΆλ ₯λλ μλ λ³Έμ μ μ°Έκ°νλ νμ μλ ν νλΉ μΈμμκ° μλ μ¬λμ μ΄ μΈμμμ΄λ€. λ³Έμ μ μ°Έκ°νλ νμ λͺ¨λ κ°μ μμ νμμ κ°μ ΈμΌ λκ³ , λ³Έμ μ μ§μΆνλ νκ΅μμλ λ¨λ μ¬λ μμ΄ λͺ¨λ νμμ΄ νμ λ€μ΄κ° μ μμ΄μΌ νλ€.
μ¦, μμ μ μ°Έκ°ν νκ΅μ νμ μ μ¬μ΄μμ μ½μλ₯Ό μ°Ύκ³ κ±°κΈ°μ κ°μ₯ λ§μ μΈμμκ° μ°Έμ¬ν μ μλ κ²½μ°λ₯Ό 골λΌμΌ νλ λ¬Έμ μ΄λ€.
long long int team = 0;
for(int i = 1; i <= maximum; i++) {
long long int count = 0;
for(int j = 0; j < N; j++) {
if(school[j] % i == 0) {
count += i;
}
}
if(count > team) {
team = count;
}
}
μ²μμ μ΄λ°μμΌλ‘ μκ°μ νλλ°, μ«μμ λ²μλ₯Ό 보μνλ λ±λ΄λ μκ°μ΄κ³Όκ° λ κ²κ°μ μ μΆ μλμ‘°μ°¨ μν΄λ³΄κ³ κ·Έλ₯ μκ°λ³΅μ‘λλ₯Ό μ€μΌ μ μλ λ°©λ²μ μ°Ύμλ΄€μλ€..
μ²μμ κ°μ λ°μ λ νκ΅ λ°°μ΄μ νμμλ₯Ό λ£μ΄μ£Όλ κ²μ΄ μλλΌ, 1λΆν° 200λ§ μ¬μ΄μ νμ μλ₯Ό λ°°μ΄λ‘ λ§λ λ€ μΈλ±μ€ λ§νΌμ μΈμμ΄ μ°Έμ¬νλ νκ΅μ μλ₯Ό μΈμ£Όλ λ°©μμΌλ‘ νΈλ λ°©λ²μ΄ μλλΌ....
for(int i = 1; i <= MAX; i++) {
long long int count = 0;
for(int j = 1; j * i <= MAX; j++) {
count += school[i * j];
}
if(count < 2) continue;
team = max(team, count * i);
}
κ·Έ μΈμ κΈ°λ³Έμ μΈ μμ΄λμ΄λ κ°μλ€. μμ μ μ°Έμ¬νλ νκ΅κ° λ νμΌ κ²½μ° λ ν λͺ¨λ μ¬λΌκ°μΌ λκΈ° λλ¬Έμ λ μκ° μ΅λ곡μ½μλ§ κ΅¬ν΄μ€ λ€ λμ΄κ°κ³ , λ€λ₯Έ κ²½μ°μ κ³μ μ΅λκ°μ λΉκ΅ν΄μ£Όλ©° i * jλ§νΌμ μΈμμκ° μ°Έμ¬νλ νκ΅λ₯Ό κ³μ μΈμ£Όμ΄ νμμ * νκ΅ μμ κΈ°μ‘΄μ μ΅λκ°μ λΉκ΅ν΄μ€ λ€, λ§μ§λ§ μ΅λκ°μ μΆλ ₯ν΄μ€λ€.
λΉμ°ν 2000000 * 200000μ κ°μνμ¬ μλ£νμ long long intλ‘ μ€μ ν΄μ£ΌκΈ°
μ½λ
#include <cstdio>
#define MAX 2000001
long long int max(long long int a, long long int b) {
return a > b ? a : b;
}
int school[MAX] = { 0 };
int main(void) {
int N;
scanf("%d", &N);
for(int i = 0; i < N; i++) {
int temp;
scanf("%d", &temp);
school[temp]++;
}
long long int team = 0;
for(int i = 1; i <= MAX; i++) {
long long int count = 0;
for(int j = 1; j * i <= MAX; j++) {
count += school[i * j];
}
if(count < 2) continue;
team = max(team, count * i);
}
printf("%lld\n", team);
return 0;
}
'μ½λ©ν μ€νΈ μ€λΉ > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 11404λ²: νλ‘μ΄λ - C++ (0) | 2022.01.20 |
---|---|
[λ°±μ€] 5567λ²: κ²°νΌμ - C++ (0) | 2022.01.19 |
[λ°±μ€] 3024λ²: λ§λΌν€ ν±νν - C++ (0) | 2022.01.17 |
[λ°±μ€] 1756λ²: νΌμ κ΅½κΈ° - C++ (0) | 2022.01.14 |
[λ°±μ€] 2840λ²: νμ΄μ λ°ν΄ - C++ (0) | 2022.01.13 |