๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 19939๋ฒˆ - ๋ฐ• ํ„ฐ๋œจ๋ฆฌ๊ธฐ

by ์•ˆ์ฃผํ˜• 2022. 9. 14.

๋ฌธ์ œ

 

19939๋ฒˆ: ๋ฐ• ํ„ฐ๋œจ๋ฆฌ๊ธฐ

$N$๊ฐœ์˜ ๊ณต์„ $K$๊ฐœ์˜ ๋ฐ”๊ตฌ๋‹ˆ์— ๋ฌธ์ œ์˜ ๊ทœ์น™์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๋‚˜๋ˆ  ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด, ๊ฐ€์žฅ ๋งŽ์ด ๋‹ด๊ธด ๋ฐ”๊ตฌ๋‹ˆ์™€ ๊ฐ€์žฅ ์ ๊ฒŒ ๋‹ด๊ธด ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ณต์˜ ๊ฐœ์ˆ˜ ์ฐจ์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋‚˜๋ˆ  ๋‹ด์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„

www.acmicpc.net

 

์ฝ”๋“œ

#include <iostream>
#include <vector>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    int N, K; cin>>N>>K;
    int sum = (K * (K+1)) / 2;  // ๋“ฑ์ฐจ์ˆ˜์—ด ํ•ฉ
    
    if(sum > N) cout << -1;
    else if((N - sum) % K == 0) cout<< K - 1;
    else cout<< K;
}

 

ํ’€์ด

์ผ๋‹จ ์‹ค๋ฒ„ 5 ๋ฌธ์ œ๋ผ์„œ ํ’€์ด ์ž์ฒด๋Š” ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๊ทธ ๊ฐ„๋‹จํ•œ ํ’€์ด๋ฅผ ๋– ์˜ฌ๋ฆฌ๋Š” ๊ฒŒ ๊ต‰์žฅํžˆ ์˜ค๋ž˜ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ๋†’์•„๋„ ๋  ๊ฒƒ ๊ฐ™์€๋ฐ ...

์ผ๋‹จ K๊ฐœ์˜ ๋ฐ”๊ตฌ๋‹ˆ์— ์ „๋ถ€ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋‹ด์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ์˜ ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋Š” K๊ฐ€ 3์ผ๋•Œ 3, 2, 1 ์ด๋Ÿฐ์‹์œผ๋กœ ์—ฐ์†์ ์ธ ๊ฐฏ์ˆ˜์ผ๋•Œ ์ตœ๋Œ€๋กœ ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋“ฑ์ฐจ์ˆ˜์—ด์„ ํ†ตํ•ด ํ•ด๋‹น ์ˆ˜์—ด์˜ ํ•ฉ์ด N๋ณด๋‹ค ํด ๊ฒฝ์šฐ๋Š” ๋‹ด์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋˜๊ธฐ์— ๋ฐ”๋กœ -1์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ์—ฐ์†์ ์œผ๋กœ ๋‹ด๊ณ  ๋‚จ์€ ๊ณต์˜ ๊ฐฏ์ˆ˜๊ฐ€ K๊ฐœ๋กœ ๊น”๋”ํ•˜๊ฒŒ ๋งˆ๋ฌด๋ฆฌ๊ฐ€ ๋  ๊ฒฝ์šฐ๋Š” K-1, ์•„๋‹ ๊ฒฝ์šฐ K๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜๋Š” ์ œ๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋“ค ์ž…๋‹ˆ๋‹ค.

7 3
4 2 1 (3)
	
6 3
3 2 1 (2)

5 2
3 2 (1)

4 2
3 1 (2)

4 3
x ( -1)

6 2
4 2 (2)

3 2
2 1 (1)

๋Œ“๊ธ€