Submission #2551845
Source Code Expand
#include<deque> #include<queue> #include<vector> #include<algorithm> #include<iostream> #include<set> #include<cmath> #include<tuple> #include<string> #include<chrono> #include<functional> #include<iterator> #include<random> #include<unordered_set> #include<array> #include<map> #include<iomanip> #include<assert.h> using namespace std; typedef long long int llint; typedef long double lldo; #define mp make_pair #define mt make_tuple #define pub push_back #define puf push_front #define pob pop_back #define pof pop_front #define fir first #define sec second #define res resize #define ins insert #define era erase //cout<<setprecision(20) //cin.tie(0); //ios::sync_with_stdio(false); const llint mod=1000000007; const llint big=2.19e15+1; const long double pai=3.141592653589793238462643383279502884197; const long double eps=1e-15; template <class T,class U>void mineq(T& a,U b){if(a>b){a=b;}} template <class T,class U>void maxeq(T& a,U b){if(a<b){a=b;}} llint gcd(llint a,llint b){if(a%b==0){return b;}else return gcd(b,a%b);} llint lcm(llint a,llint b){return a/gcd(a,b)*b;} template<class T> void SO(T& ve){sort(ve.begin(),ve.end());} template<class T> void REV(T& ve){reverse(ve.begin(),ve.end());} int LBI(vector<int>&ar,int in){return lower_bound(ar.begin(),ar.end(),in)-ar.begin();} int UBI(vector<int>&ar,int in){return upper_bound(ar.begin(),ar.end(),in)-ar.begin();} int main(void){ cin.tie(0); ios::sync_with_stdio(false); int n,i;cin>>n; vector<pair<llint,llint>>ball(n+2); ball[0]=mp(0,0); ball[1]=mp(0,0); for(i=0;i<n;i++){ llint t,x;cin>>t>>x; ball[i+2]=mp(t,x); } lldo vmax=mod,vmin=0; for(int kai=0;kai<60;kai++){ lldo vgen=(vmax+vmin)/2; lldo otL=0,otR=0; bool can=true; for(i=2;i<n+2;i++){ bool recan=(vgen*(ball[i].fir-ball[i-1].fir)>=abs(ball[i].sec-ball[i-1].sec)); bool otcan=(otL<=ball[i].sec+ball[i].fir*vgen)&&(ball[i].sec-ball[i].fir*vgen<=otR); if(recan&&otcan){ mineq(otL,ball[i-1].sec+ball[i-1].fir*vgen); maxeq(otR,ball[i-1].sec-ball[i-1].fir*vgen); }else if(recan){} else if(otcan){ otL=ball[i-1].sec+ball[i-1].fir*vgen; otR=ball[i-1].sec-ball[i-1].fir*vgen; }else{can=false;break;} } if(can){vmax=vgen;}else{vmin=vgen;} } cout<<setprecision(20)<<vmax<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - ダブルス |
User | WA_TLE |
Language | C++14 (GCC 5.4.1) |
Score | 800 |
Code Size | 2351 Byte |
Status | AC |
Exec Time | 68 ms |
Memory | 1792 KB |
Judge Result
Set Name | Sample | Small | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | 200 / 200 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 00_sample_04 |
Small | 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 00_sample_04, 01_random_00, 01_random_01, 01_random_02, 01_random_03, 01_random_04, 01_random_05, 01_random_06, 01_random_07, 01_random_08, 01_random_09, 02_X_positive_00, 02_X_positive_01, 02_X_positive_02, 02_X_positive_03, 02_X_positive_04, 03_X_negative_00, 03_X_negative_01, 03_X_negative_02, 03_X_negative_03, 03_X_negative_04, 04_T_large_00, 04_T_large_01, 04_T_large_02, 04_T_large_03, 04_T_large_04, 04_T_small_00, 04_T_small_01, 04_T_small_02, 04_T_small_03, 04_T_small_04, 05_X_negative_large_00, 05_X_negative_large_01, 05_X_negative_large_02, 05_X_negative_large_03, 05_X_negative_large_04, 05_X_positive_large_00, 05_X_positive_large_01, 05_X_positive_large_02, 05_X_positive_large_03, 05_X_positive_large_04, 05_absX_large_00, 05_absX_large_01, 05_absX_large_02, 05_absX_large_03, 05_absX_large_04, 05_absX_small_00, 05_absX_small_01, 05_absX_small_02, 05_absX_small_03, 05_absX_small_04, 08_V_minimum_nonzero_00, 09_max_00, 09_max_01, 09_max_02, 09_max_03, 09_max_04, 09_max_05, 09_max_06, 09_max_07, 09_max_08, 09_max_09, 09_max_10, 09_max_11, 09_max_12 |
All | 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 00_sample_04, 01_random_00, 01_random_01, 01_random_02, 01_random_03, 01_random_04, 01_random_05, 01_random_06, 01_random_07, 01_random_08, 01_random_09, 02_X_positive_00, 02_X_positive_01, 02_X_positive_02, 02_X_positive_03, 02_X_positive_04, 03_X_negative_00, 03_X_negative_01, 03_X_negative_02, 03_X_negative_03, 03_X_negative_04, 04_T_large_00, 04_T_large_01, 04_T_large_02, 04_T_large_03, 04_T_large_04, 04_T_small_00, 04_T_small_01, 04_T_small_02, 04_T_small_03, 04_T_small_04, 05_X_negative_large_00, 05_X_negative_large_01, 05_X_negative_large_02, 05_X_negative_large_03, 05_X_negative_large_04, 05_X_positive_large_00, 05_X_positive_large_01, 05_X_positive_large_02, 05_X_positive_large_03, 05_X_positive_large_04, 05_absX_large_00, 05_absX_large_01, 05_absX_large_02, 05_absX_large_03, 05_absX_large_04, 05_absX_small_00, 05_absX_small_01, 05_absX_small_02, 05_absX_small_03, 05_absX_small_04, 08_V_minimum_nonzero_00, 09_max_00, 09_max_01, 09_max_02, 09_max_03, 09_max_04, 09_max_05, 09_max_06, 09_max_07, 09_max_08, 09_max_09, 09_max_10, 09_max_11, 09_max_12, 11_random_00, 11_random_01, 11_random_02, 11_random_03, 11_random_04, 11_random_05, 11_random_06, 11_random_07, 11_random_08, 11_random_09, 12_X_positive_00, 12_X_positive_01, 12_X_positive_02, 12_X_positive_03, 12_X_positive_04, 13_X_negative_00, 13_X_negative_01, 13_X_negative_02, 13_X_negative_03, 13_X_negative_04, 14_T_large_00, 14_T_large_01, 14_T_large_02, 14_T_large_03, 14_T_large_04, 14_T_small_00, 14_T_small_01, 14_T_small_02, 14_T_small_03, 14_T_small_04, 15_X_negative_large_00, 15_X_negative_large_01, 15_X_negative_large_02, 15_X_negative_large_03, 15_X_negative_large_04, 15_X_positive_large_00, 15_X_positive_large_01, 15_X_positive_large_02, 15_X_positive_large_03, 15_X_positive_large_04, 15_absX_large_00, 15_absX_large_01, 15_absX_large_02, 15_absX_large_03, 15_absX_large_04, 15_absX_small_00, 15_absX_small_01, 15_absX_small_02, 15_absX_small_03, 15_absX_small_04, 19_max_00, 19_max_01, 19_max_02, 19_max_03, 19_max_04, 19_max_05, 19_max_06, 19_max_07, 19_max_08, 19_max_09, 19_max_10, 19_max_11, 19_max_12 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00 | AC | 1 ms | 256 KB |
00_sample_01 | AC | 1 ms | 256 KB |
00_sample_02 | AC | 1 ms | 256 KB |
00_sample_03 | AC | 1 ms | 256 KB |
00_sample_04 | AC | 1 ms | 256 KB |
01_random_00 | AC | 2 ms | 256 KB |
01_random_01 | AC | 2 ms | 256 KB |
01_random_02 | AC | 2 ms | 256 KB |
01_random_03 | AC | 1 ms | 256 KB |
01_random_04 | AC | 1 ms | 256 KB |
01_random_05 | AC | 1 ms | 256 KB |
01_random_06 | AC | 2 ms | 256 KB |
01_random_07 | AC | 1 ms | 256 KB |
01_random_08 | AC | 2 ms | 256 KB |
01_random_09 | AC | 2 ms | 256 KB |
02_X_positive_00 | AC | 2 ms | 256 KB |
02_X_positive_01 | AC | 2 ms | 256 KB |
02_X_positive_02 | AC | 2 ms | 256 KB |
02_X_positive_03 | AC | 2 ms | 256 KB |
02_X_positive_04 | AC | 2 ms | 256 KB |
03_X_negative_00 | AC | 1 ms | 256 KB |
03_X_negative_01 | AC | 2 ms | 256 KB |
03_X_negative_02 | AC | 3 ms | 256 KB |
03_X_negative_03 | AC | 2 ms | 256 KB |
03_X_negative_04 | AC | 2 ms | 256 KB |
04_T_large_00 | AC | 2 ms | 256 KB |
04_T_large_01 | AC | 2 ms | 256 KB |
04_T_large_02 | AC | 2 ms | 256 KB |
04_T_large_03 | AC | 2 ms | 256 KB |
04_T_large_04 | AC | 2 ms | 256 KB |
04_T_small_00 | AC | 1 ms | 256 KB |
04_T_small_01 | AC | 2 ms | 256 KB |
04_T_small_02 | AC | 1 ms | 256 KB |
04_T_small_03 | AC | 1 ms | 256 KB |
04_T_small_04 | AC | 2 ms | 256 KB |
05_X_negative_large_00 | AC | 2 ms | 256 KB |
05_X_negative_large_01 | AC | 2 ms | 256 KB |
05_X_negative_large_02 | AC | 2 ms | 256 KB |
05_X_negative_large_03 | AC | 2 ms | 256 KB |
05_X_negative_large_04 | AC | 1 ms | 256 KB |
05_X_positive_large_00 | AC | 2 ms | 256 KB |
05_X_positive_large_01 | AC | 2 ms | 256 KB |
05_X_positive_large_02 | AC | 2 ms | 256 KB |
05_X_positive_large_03 | AC | 1 ms | 256 KB |
05_X_positive_large_04 | AC | 2 ms | 256 KB |
05_absX_large_00 | AC | 2 ms | 256 KB |
05_absX_large_01 | AC | 2 ms | 256 KB |
05_absX_large_02 | AC | 2 ms | 256 KB |
05_absX_large_03 | AC | 1 ms | 256 KB |
05_absX_large_04 | AC | 2 ms | 256 KB |
05_absX_small_00 | AC | 1 ms | 256 KB |
05_absX_small_01 | AC | 2 ms | 256 KB |
05_absX_small_02 | AC | 2 ms | 256 KB |
05_absX_small_03 | AC | 1 ms | 256 KB |
05_absX_small_04 | AC | 2 ms | 256 KB |
08_V_minimum_nonzero_00 | AC | 1 ms | 256 KB |
09_max_00 | AC | 2 ms | 256 KB |
09_max_01 | AC | 2 ms | 256 KB |
09_max_02 | AC | 2 ms | 256 KB |
09_max_03 | AC | 2 ms | 256 KB |
09_max_04 | AC | 3 ms | 256 KB |
09_max_05 | AC | 2 ms | 256 KB |
09_max_06 | AC | 2 ms | 256 KB |
09_max_07 | AC | 2 ms | 256 KB |
09_max_08 | AC | 2 ms | 256 KB |
09_max_09 | AC | 2 ms | 256 KB |
09_max_10 | AC | 2 ms | 256 KB |
09_max_11 | AC | 2 ms | 256 KB |
09_max_12 | AC | 2 ms | 256 KB |
11_random_00 | AC | 20 ms | 768 KB |
11_random_01 | AC | 55 ms | 1664 KB |
11_random_02 | AC | 36 ms | 1024 KB |
11_random_03 | AC | 29 ms | 1024 KB |
11_random_04 | AC | 62 ms | 1792 KB |
11_random_05 | AC | 33 ms | 1152 KB |
11_random_06 | AC | 16 ms | 768 KB |
11_random_07 | AC | 54 ms | 1664 KB |
11_random_08 | AC | 36 ms | 1152 KB |
11_random_09 | AC | 48 ms | 1664 KB |
12_X_positive_00 | AC | 31 ms | 1024 KB |
12_X_positive_01 | AC | 38 ms | 1408 KB |
12_X_positive_02 | AC | 46 ms | 1408 KB |
12_X_positive_03 | AC | 19 ms | 768 KB |
12_X_positive_04 | AC | 55 ms | 1792 KB |
13_X_negative_00 | AC | 34 ms | 1024 KB |
13_X_negative_01 | AC | 22 ms | 768 KB |
13_X_negative_02 | AC | 28 ms | 1152 KB |
13_X_negative_03 | AC | 15 ms | 640 KB |
13_X_negative_04 | AC | 40 ms | 1280 KB |
14_T_large_00 | AC | 39 ms | 1408 KB |
14_T_large_01 | AC | 43 ms | 1280 KB |
14_T_large_02 | AC | 35 ms | 1024 KB |
14_T_large_03 | AC | 60 ms | 1664 KB |
14_T_large_04 | AC | 39 ms | 1152 KB |
14_T_small_00 | AC | 9 ms | 512 KB |
14_T_small_01 | AC | 50 ms | 1664 KB |
14_T_small_02 | AC | 62 ms | 1664 KB |
14_T_small_03 | AC | 44 ms | 1408 KB |
14_T_small_04 | AC | 57 ms | 1536 KB |
15_X_negative_large_00 | AC | 15 ms | 640 KB |
15_X_negative_large_01 | AC | 50 ms | 1408 KB |
15_X_negative_large_02 | AC | 18 ms | 640 KB |
15_X_negative_large_03 | AC | 19 ms | 768 KB |
15_X_negative_large_04 | AC | 45 ms | 1664 KB |
15_X_positive_large_00 | AC | 19 ms | 768 KB |
15_X_positive_large_01 | AC | 48 ms | 1792 KB |
15_X_positive_large_02 | AC | 10 ms | 512 KB |
15_X_positive_large_03 | AC | 34 ms | 1280 KB |
15_X_positive_large_04 | AC | 38 ms | 1408 KB |
15_absX_large_00 | AC | 8 ms | 384 KB |
15_absX_large_01 | AC | 38 ms | 1408 KB |
15_absX_large_02 | AC | 56 ms | 1792 KB |
15_absX_large_03 | AC | 26 ms | 1024 KB |
15_absX_large_04 | AC | 9 ms | 512 KB |
15_absX_small_00 | AC | 6 ms | 384 KB |
15_absX_small_01 | AC | 11 ms | 512 KB |
15_absX_small_02 | AC | 53 ms | 1664 KB |
15_absX_small_03 | AC | 26 ms | 1024 KB |
15_absX_small_04 | AC | 5 ms | 384 KB |
19_max_00 | AC | 60 ms | 1792 KB |
19_max_01 | AC | 53 ms | 1792 KB |
19_max_02 | AC | 63 ms | 1792 KB |
19_max_03 | AC | 58 ms | 1792 KB |
19_max_04 | AC | 68 ms | 1792 KB |
19_max_05 | AC | 66 ms | 1792 KB |
19_max_06 | AC | 50 ms | 1792 KB |
19_max_07 | AC | 56 ms | 1792 KB |
19_max_08 | AC | 48 ms | 1792 KB |
19_max_09 | AC | 45 ms | 1792 KB |
19_max_10 | AC | 57 ms | 1792 KB |
19_max_11 | AC | 53 ms | 1792 KB |
19_max_12 | AC | 61 ms | 1792 KB |