CF1130A.Be Positive
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array of n integers: a1,a2,…,an . Your task is to find some non-zero integer d ( −103≤d≤103 ) such that, after each number in the array is divided by d , the number of positive numbers that are presented in the array is greater than or equal to half of the array size (i.e., at least ⌈2n⌉ ). Note that those positive numbers do not need to be an integer (e.g., a 2.5 counts as a positive number). If there are multiple values of d that satisfy the condition, you may print any of them. In case that there is no such d , print a single integer 0 .
Recall that ⌈x⌉ represents the smallest integer that is not less than x and that zero ( 0 ) is neither positive nor negative.
输入格式
The first line contains one integer n ( 1≤n≤100 ) — the number of elements in the array.
The second line contains n space-separated integers a1,a2,…,an ( −103≤ai≤103 ).
输出格式
Print one integer d ( −103≤d≤103 and d=0 ) that satisfies the given condition. If there are multiple values of d that satisfy the condition, you may print any of them. In case that there is no such d , print a single integer 0 .
输入输出样例
输入#1
5 10 0 -7 2 6
输出#1
4
输入#2
7 0 0 1 -1 0 0 2
输出#2
0
说明/提示
In the first sample, n=5 , so we need at least ⌈25⌉=3 positive numbers after division. If d=4 , the array after division is [2.5,0,−1.75,0.5,1.5] , in which there are 3 positive numbers (namely: 2.5 , 0.5 , and 1.5 ).
In the second sample, there is no valid d , so 0 should be printed.