Submission details
Task:Mountain Biking
Sender:OOliOO_slayer
Submission time:2015-11-25 17:28:14 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.06 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.06 sdetails
#5ACCEPTED0.06 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.06 sdetails
#9ACCEPTED0.06 sdetails

Code

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <map>
#include <sstream>
#include <utility>
#include <set>
#include <iomanip>

using namespace std;
typedef long long LL;

double f(double a, double L, double v0){
    double t = (-2*v0 + sqrt(4*v0*v0 + 8*a*L))/(2*a);
    return v0 + a*t;
}



int main(){
    cin.tie(0);
    ios_base::sync_with_stdio(0);
    double pi = 3.14159265358979323;
    int N;
    double g;
    cin >> N >> g;
    
    vector<double> thetas;
    vector<double> lengths;
    
    for(int i = 0; i < N; i++){
        double L, angle;
        cin >> L >> angle;
        thetas.push_back(2*pi*angle/360.0);
        lengths.push_back(L);
    }
        
    for(int start = 0; start < N; start++){
        double v = 0;
        for(int seg = start; seg < N; seg++){
            double a = g * cos(thetas[seg]);
            v = f(a,lengths[seg], v);
        }
        cout << std::setprecision(15) << v << "\n";
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
4 1
1000 89
1000 88
1000 87
1000 86

correct output
18.67856167518548
17.71958953754687
15.62641545506002
11.81155990918434

user output
18.6785616751855
17.7195895375469
15.62641545506
11.8115599091843

Test 2

Verdict: ACCEPTED

input
4 100
994 89
991 84
999 89
773 81

correct output
227.72535853692241
219.97568165830942
166.34830657806216
155.51452760182793

user output
227.725358536922
219.975681658309
166.348306578062
155.514527601828

Test 3

Verdict: ACCEPTED

input
4 1
603 1
11 20
778 2
313 1

correct output
58.37333588228029
46.92153047021062
46.70071502674894
25.01808660085541

user output
58.3733358822803
46.9215304702106
46.7007150267489
25.0180866008554

Test 4

Verdict: ACCEPTED

input
3 100
1000 1
1000 2
998 1

correct output
774.22044947696459
632.01880142685220
446.73213445331610

user output
774.220449476965
632.018801426852
446.732134453316

Test 5

Verdict: ACCEPTED

input
4 33
600 20
600 40
600 60
600 80

correct output
306.95871964523821
238.77149700733121
163.32932325706381
82.92447066825597

user output
306.958719645238
238.771497007331
163.329323257064
82.924470668256

Test 6

Verdict: ACCEPTED

input
4 81
627 80
822 60
411 40
801 20

correct output
507.11074231227801
489.41103887240717
415.86195422299554
349.19392013381482

user output
507.110742312278
489.411038872407
415.861954222996
349.193920133815

Test 7

Verdict: ACCEPTED

input
1 65.678904776
5999 83

correct output
309.895033063524

user output
309.895033063524

Test 8

Verdict: ACCEPTED

input
3 16.5485760467
9210 5
3641 10
7313 12

correct output
811.8442666570775
596.1763940359323
486.5699641893223

user output
811.844266657078
596.176394035932
486.569964189322

Test 9

Verdict: ACCEPTED

input
1 19.5935866382
6927 30

correct output
484.85276685524383

user output
484.852766855244