|
| Code Submission Evaluation System |
Login |
HIIT Open 2016
|
Start: | 2016-05-28 11:00:00 |
End: | 2016-05-28 16:00:00 |
|
|
Tasks | Messages | Scoreboard | Statistics
CSES - HIIT Open 2016 - ResultsHistory |
---|
2016-05-28 11:41:15 | ✓ |
Task: | Approximate |
Sender: | Team Purkka |
Submission time: | 2016-05-28 11:41:15 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
Test results
test | verdict | time (s) | |
#1 | ACCEPTED | 0.31 / 1.00 | details |
Code
#include <bits/stdc++.h>
#define ll long long
#define ld long double
using namespace std;
int main () {
int n, q;
cin>>n>>q;
ld v[n];
ld s[n];
for (int i = 0; i < n; i++) cin>>v[i], s[i] = v[i] * v[i];
for (int i = 1; i < n; i++) v[i] += v[i - 1], s[i] += s[i - 1];
for (int i = 0; i < q; i++) {
int a, b;
cin>>a>>b;
a--;
b--;
ld avg = v[b];
if (a != 0) avg -= v[a - 1];
ld sum = avg;
avg /= b - a + 1;
ld ssum = s[b];
if (a != 0) ssum -= s[a - 1];
cout<<setprecision(6)<<fixed<<(ssum - 2 * avg * sum + (b - a + 1) * avg * avg) / (b - a + 1)<<endl;
}
}
Test details
Test 1
Verdict: ACCEPTED
input |
---|
100000 100000
62 64 35 47 57 38 52 4 56 13 7... |
correct output |
---|
831.753342
833.361649
833.847478
834.425131
831.468120
836.550284
840.319891
843.709808
830.097515
832.352323
828.549331
811.748878
833.912525
830.245034
831.485429
815.101051
834.579010
848.833782
839.942329
822.449380
... |
user output |
---|
831.753342
833.361649
833.847478
834.425131
831.468120
836.550284
840.319891
843.709808
830.097515
832.352323
828.549331
811.748878
833.912525
830.245034
831.485429
815.101051
834.579010
848.833782
839.942329
822.449380
... |