git reimport
This commit is contained in:
58
archive/2017.04/2017.04.30 - unsorted/TaskC.java
Normal file
58
archive/2017.04/2017.04.30 - unsorted/TaskC.java
Normal file
@@ -0,0 +1,58 @@
|
||||
package chelper;
|
||||
|
||||
import io.InputReader;
|
||||
import io.OutputWriter;
|
||||
import misc.GCJSolution;
|
||||
import misc.SimpleSavingChelperSolution;
|
||||
|
||||
|
||||
public class TaskC extends GCJSolution {
|
||||
|
||||
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
||||
wrapSolve(testNumber, in, out);
|
||||
}
|
||||
|
||||
double eps = 1e-9;
|
||||
|
||||
@Override
|
||||
public void solve(int testNumber) {
|
||||
int n = in.nextInt();
|
||||
int k = in.nextInt();
|
||||
|
||||
double u = in.nextDouble();
|
||||
double[] a = in.nextDoubleArray(n);
|
||||
|
||||
double min = 1.0;
|
||||
for (double v : a) {
|
||||
min = Math.min(v, min);
|
||||
}
|
||||
|
||||
double l = 0.0;
|
||||
double r = 1.1;
|
||||
double goodAns = 0.0;
|
||||
|
||||
while (r - l > eps) {
|
||||
double m = (r + l) / 2;
|
||||
double ma = Math.min(m, 1.0);
|
||||
|
||||
double uLeft = u;
|
||||
double ans = 1;
|
||||
|
||||
for (double v : a) {
|
||||
double uNeed = Math.max(0, ma - v);
|
||||
uLeft -= uNeed;
|
||||
// ans *= ma;
|
||||
ans *= Math.max(ma, v);
|
||||
}
|
||||
|
||||
if (uLeft >= 0) {
|
||||
l = m;
|
||||
goodAns = Math.max(goodAns, ans);
|
||||
} else {
|
||||
r = m;
|
||||
}
|
||||
}
|
||||
|
||||
out.println(goodAns);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user