-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathtemplate.js
72 lines (58 loc) · 1.49 KB
/
template.js
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// node template.js < A-small.in > A-small.out
function main() {
var testCases = nextInt();
for (var testCase = 1; testCase <= testCases; ++testCase) {
var cmd = next();
var n = nextInt();
var a = [];
for (var i = 0; i < n; i++) {
a[i] = parseFloat(next());
}
var res;
switch (cmd) {
case "median":
a.sort(function (a, b) {
return a - b;
});
res = a[n >> 1];
break;
case "mean":
var sum = 0;
for (var j = 0; j < n; j++) {
sum += a[j];
}
res = sum / n;
break;
}
print('Case #' + testCase + ': ' + res.toFixed(10))
}
}
// auxiliary code
var curTokens = [], curToken = 0;
function next() {
while (curToken >= curTokens.length) {
curTokens = readline().split(/[\s]+/);
curToken = 0;
}
return curTokens[curToken++];
}
function nextInt() {
return parseInt(next());
}
// code for nodejs
var inputBuffer = '', curLine = 0;
function readline() {
return inputBuffer[curLine++];
}
function print(data) {
process.stdout.write(data + '\n');
}
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data', function (chunk) {
inputBuffer += chunk;
});
process.stdin.on('end', function () {
inputBuffer = inputBuffer.split(/[\s]+/);
main();
});