๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 13305_์ฃผ์œ ์†Œ

๋ฟŒ์•ผ._. 2023. 11. 17. 14:20

Silver III

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/13305)

< ์ฃผ์œ ์†Œ >

 

๋ฌธ์ œ ํ’€์ด 

 

๋‹ค์Œ ๋„์‹œ์˜ ์ฃผ์œ ์†Œ ๊ธฐ๋ฆ„ ๊ฐ€๊ฒฉ์ด ์‹ธ๋‹ค๋ฉด ๋‹ค์Œ ๋„์‹œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ์˜ ๊ธธ์ด๋งŒํผ ๊ธฐ๋ฆ„์„ ๋„ฃ๊ณ  ๋‹ค์Œ์—๋Š” ๋” ์‹ผ ๊ธฐ๋ฆ„์œผ๋กœ ๋„ฃ๋Š”๋‹ค. ๋„์‹œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๊ฐ€ 1 ์ด์ƒ 1000000000 ์ดํ•˜์ด๊ณ  ๋ฆฌํ„ฐ๋‹น ๊ฐ€๊ฒฉ์ด 1 ์ด์ƒ 1000000000 ์ดํ•˜์ด๋ฏ€๋กœ ๊ณฑํ–ˆ์„ ๋•Œ int๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ long์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class _13305_ { // ์ฃผ์œ ์†Œ

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;

		int n = Integer.parseInt(bf.readLine());

		long d[] = new long[n - 1];
		st = new StringTokenizer(bf.readLine());
		for (int i = 0; i < n - 1; i++) {
			d[i] = Long.parseLong(st.nextToken());
		}

		long m[] = new long[n];
		st = new StringTokenizer(bf.readLine());
		long value = Long.MAX_VALUE;
		long result = 0;

		for (int i = 0; i < n; i++) {
			m[i] =Long.parseLong(st.nextToken());
			if (value > m[i]) {
				value = m[i];
			}
			if (i < n - 1)
				result += value * d[i];
		}

		System.out.println(result);
	}
}

 

Main

๋ณ€์ˆ˜)
n : ๋„์‹œ์˜ ๊ฐœ์ˆ˜
d : ๋„๋กœ์˜ ๊ธธ์ด
m : ๋ฆฌํ„ฐ๋‹น ๊ฐ€๊ฒฉ
value : ๊ธฐ๋ฆ„ ๊ฐ€๊ฒฉ
result : ์ตœ์†Œ ๋น„์šฉ

 

์ฒ˜์Œ ๋„์‹œ์˜ ๋ฆฌํ„ฐ๋‹น ๊ฐ€๊ฒฉ์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •ํ•œ๋‹ค. ๋‹ค์Œ ๋„์‹œ์˜ ๋ฆฌํ„ฐ๋‹น ๊ฐ€๊ฒฉ๊ณผ ๋น„๊ตํ•œ ํ›„ ๋‹ค์Œ ๋„์‹œ์˜ ๊ธฐ๋ฆ„์ด ๋” ์‹ธ๋‹ค๋ฉด ๊ทธ ๋„๋กœ์˜ ๊ธธ์ด๋งŒํผ๋งŒ ๊ธฐ๋ฆ„์„ ๋„ฃ๋Š”๋‹ค. ๋‹ค์Œ ๋„์‹œ์˜ ๊ธฐ๋ฆ„์ด ๋” ๋น„์‹ธ๋‹ค๋ฉด ๋‹ค์Œ ๋„์‹œ ๊ฑฐ๋ฆฌ๊นŒ์ง€ ๊ธฐ๋ฆ„์„ ๋„ฃ๋Š”๋‹ค.