2020. 12. 25. 20:00γπ¨π»π« νλ‘κ·Έλλ°/BOJ(λ°±μ€)
- 3 : 3 (ν κ°μ§)
- 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (μΈ κ°μ§)
- 53 : 5+7+11+13+17 = 53 (λ κ°μ§)
νμ§λ§ μ°μλ μμμ ν©μΌλ‘ λνλΌ μ μλ μμ°μλ€λ μλλ°, 20μ΄ κ·Έ μμ΄λ€. 7+13μ κ³μ°νλ©΄ 20μ΄ λκΈ°λ νλ 7κ³Ό 13μ΄ μ°μμ΄ μλκΈ°μ μ ν©ν ννμ΄ μλλ€. λν ν μμλ λ°λμ ν λ²λ§ λ§μ μ μ¬μ©λ μ μκΈ° λλ¬Έμ, 3+5+5+7κ³Ό κ°μ ννλ μ ν©νμ§ μλ€.
μμ°μκ° μ£Όμ΄μ‘μ λ, μ΄ μμ°μλ₯Ό μ°μλ μμμ ν©μΌλ‘ λνλΌ μ μλ κ²½μ°μ μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ μΆλ ₯
μ λ ₯: 첫째 μ€μ μμ°μ Nμ΄ μ£Όμ΄μ§λ€. (1 β€ N β€ 4,000,000)
μΆλ ₯ : 첫째 μ€μ μμ°μ Nμ μ°μλ μμμ ν©μΌλ‘ λνλΌ μ μλ κ²½μ°μ μλ₯Ό μΆλ ₯νλ€.
νμ΄ & μ½λ
Nμ΄ μ£Όμ΄μ§λ©΄ μ°μλ μμμ ν©μ΄ Nμ΄ λλ κ²½μ°μ μλ₯Ό ꡬνλ λ¬Έμ μμ΅λλ€.
μ΄λ μ£Όμν μ μΌλ‘ μ°μλ μμμ ν©μ ꡬν λ, κ°κ°μ μμλ λ¨ ν λ²μ©λ§ λν΄μ ΈμΌ νλ€λ κ²μ λλ€.
κ·Έλ¬λ €λ©΄ λ¨Όμ N μ΄νμ μμλ₯Ό λ¨Όμ ꡬν΄μΌ κ² μ£ ? Nμ μ΅λ ν¬κΈ°κ° 400λ§μ΄κΈ° λλ¬Έμ ν¨μ¨μ μ΄λΌκ³ λ리 μλ €μ§ μλΌν λ€μ€μ 체 λ°©λ²μ μ΄μ©νμ¬ μμ λ°°μ΄μ ꡬν΄λ³΄μμ΅λλ€.
Nμ΄νμ μμλ°°μ΄μ ꡬνκ³ μ°μλ μμμ λΆλΆν©μ ꡬνκΈ° μν΄ ν¬ ν¬μΈν° κΈ°λ²μ μ¬μ©νμ¬ λΆλΆν©μ΄ Nμ΄ λλ ꡬκ°μ μλ₯Ό ꡬν μ μμμ΅λλ€.
#include<bits/stdc++.h>
using namespace std; int N,l,r,ans; vector primes,nums; // μλΌν λ€μ€μ 체 void getPrimes(int N){ nums.resize(N+1,1); //nums λ°°μ΄ 1λ‘ μ΄κΈ°ν for(int i=2;i<=sqrt(N);i++){ if(!nums[i]) continue; //μ΄λ€ μμ λ°°μμΈ μλ‘ μ²΄ν¬λμμΌλ―λ‘ continue; for(int j=2*i;j<=N;j+=i){ nums[j]=0; } } for(int i=2;i<=N;i++)if(nums[i]) primes.push_back(i); return; } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin>>N; getPrimes(N); int vecSize=(int)primes.size(); //μμ λ°°μ΄μ ν¬κΈ° int partialSum=0; // λΆλΆ ν© λ³μ // ν¬ ν¬μΈν° while(1){ if(partialSum>=N) partialSum-=primes[l++]; // λΆλΆν© κ°μ else if(r==vecSize) break; else partialSum+=primes[r++]; // λΆλΆν© μ¦κ° if(partialSum==N) ans++; } cout<<ans<<"\n"; return 0; }
λΆμ‘±ν λΆλΆμ΄λ κΆκΈν λΆλΆ λκΈ κ°μ¬νκ² μ΅λλ€!.
'π¨π»βπ« νλ‘κ·Έλλ° > BOJ(λ°±μ€)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 13306λ²: νΈλ¦¬ (0) | 2021.01.12 |
---|---|
[λ°±μ€] 11377λ²: μ΄νκ°νΈ 3 (0) | 2021.01.10 |
[λ°±μ€] 9576λ²: μ± λλ μ£ΌκΈ° (0) | 2020.12.28 |
[λ°±μ€] 2470 λ²: λ μ©μ‘ (0) | 2020.12.26 |
[λ°±μ€] 1054λ²: νΉμ ν μ΅λ¨ κ²½λ‘ (0) | 2020.12.21 |