일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nginx
- 장범준
- oracle
- 인덱스
- 아이유
- db
- 말 더듬
- 스위트라떼
- 악보
- 슬픔의 후에
- 레이디스코드
- DBMS
- index
- SQL 처리
- 천공의 시간
- 봄 사랑 벚꽃 말고
- 니가 참 좋아
- DBMS 구성요소
- Inside Of Me
- 러블리즈
- 핑거스타일
- 개발자
- 데이터베이스
- IT
- 오라클
- 6학년 8반 1분단
- 신입
- 기타
- I'm fine thank you
- 오라클 아키텍처
취미로 음악을 하는 개발자
[java] codeforce ROUND #559 Div.2 (2) 본문
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
try {
String temp = bf.readLine();
int array[] = new int[Integer.parseInt(temp)+1];
String arr = bf.readLine();
StringTokenizer st = new StringTokenizer(arr);
int index = 1;
int min = 1000000000;
while(st.hasMoreTokens()) {
array[index] = Integer.parseInt(st.nextToken());
int deno = 0;
int a = Math.abs(index-1);
int b = Math.abs(index-(array.length-1));
if (a >= b)
deno = a;
else
deno = b;
int k = array[index] / deno;
if (min >= k)
min = k;
index++;
}
System.out.println((int)min);
} catch(Exception e) {
e.printStackTrace();
}
}
}
시험 당시에는 최솟값/max(최솟값 index-1, 최솟값 index-temp)로 계산했었는데
아마 어떤 테스트케이스에는 분자가 최솟값이 아니지만 K값이 최소가 되는 케이스가 있을것이라고 추측했다.
그래서 친구의 도움을 받아서 최솟값을 계산하여 비교하는 것이 아닌,
입력을 넣을 때마다 그것을 바로 계산하여 각 입력마다 값을 구하고 그 중의 최솟값을 K로 정했다.
http://codeforces.com/contest/1159/problem/B
'공대인 > Codeforce' 카테고리의 다른 글
[java] codeforce ROUND #559 Div.2 (1) (0) | 2019.05.13 |
---|