| Task: | Mountain Biking |
| Sender: | OOliOO_slayer |
| Submission time: | 2015-11-25 17:28:14 +0200 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.04 s | details |
| #2 | ACCEPTED | 0.06 s | details |
| #3 | ACCEPTED | 0.06 s | details |
| #4 | ACCEPTED | 0.06 s | details |
| #5 | ACCEPTED | 0.06 s | details |
| #6 | ACCEPTED | 0.05 s | details |
| #7 | ACCEPTED | 0.05 s | details |
| #8 | ACCEPTED | 0.06 s | details |
| #9 | ACCEPTED | 0.06 s | details |
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 |
