티스토리 뷰

BOJ

[BOJ] 15311 약 팔기

[gunwookim] 2021. 8. 3. 23:47

https://www.acmicpc.net/problem/15311

 

15311번: 약 팔기

첫 번째 줄에 동규의 최대 약 요구량을 나타내는 정수 N ($=1\, 000\, 000$) 이 주어진다.

www.acmicpc.net

이 문제는 언뜻 보면 어려워 보이는데, 사실 \((2000/2)^{2} = 10^{6}\) 임을 알면 왼쪽에 1000개, 오른쪽에 1000개에 적당한 약의 개수를 넣으면 \(10^6\) 개를 만들 수 있을 것 같다.

어떤 약의 수 X만큼을 주기 위해 X를 1000으로 나눈 몫과 나머지에 대한 식을 세워보자.

$$X = 1000*b + r$$

왼쪽엔 1000짜리 1000개, 오른쪽에는 1짜리 1000개를 넣으면, 원하는 수 만큼의 약을 담을 수 있다.

 

#include <bits/stdc++.h>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false); cin.tie(0);
	cout << "2000\n";
	for(int i = 1;i <= 1000;i++) cout << 1 << ' ';
	for(int i = 1000;i >= 1;i--) cout << 1000 << ' ';
}

 

'BOJ' 카테고리의 다른 글

[BOJ] 18919 Allowed Swaps  (0) 2021.08.05
[BOJ] 20052 괄호 문자열 ?  (0) 2021.08.04
[BOJ] 17958 Cycle String?  (0) 2021.08.03
[BOJ] 4011 기름 파기  (0) 2021.08.03
[BOJ] 1665 화물열차  (0) 2021.08.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함