CSES - HIIT Open 2016 - Results
Submission details
Task:Approximate
Sender:zah
Submission time:2016-05-28 12:48:27 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.31 sdetails

Code

#include <iostream>

using namespace std;

int main(){
    int n, q;
    cin >> n >> q;
    double t[100001]={}, y[100001]={};
    for (int i=1; i<=n; ++i){
        double a;
        cin >> a;
        t[i]=t[i-1]+a;
        y[i]=y[i-1]+a*a;
    }
     for (int i=0; i<q; ++i){
        int a, b;
        cin >> a >> b;
        double joku=t[b]-t[a-1];
        double k=b-a + 1;
        double x=joku/k;
        double vastaus=(y[b]-y[a-1]-2*x*joku+k*x*x)/k;
        std::cout.unsetf ( std::ios::floatfield );
        std::cout.setf( std::ios::fixed, std:: ios::floatfield );
        std::cout.precision(6);
        cout << vastaus << "\n";
    }
}

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
...

user output
831.753342
833.361649
833.847478
834.425131
831.468120
...