text: Example Input 3 3 0 2 5 1 1 1 6 3 2 1 10 1 -2 3 6 2 1 2 3 3 1 2 3 0 3 0 2 5 1 1 1 6 3 2 1 10 1 -2 3 6 2 1 2 2 2 1 2 2 0 10 2 7 20 8 9 -5 6 -9 5 1 0 4 9 4 3 -1 -8 0 -5 4 3 0 -3 2 4 -4 5 8 -4 1 -8 -6 3 3 5 -7 -7 0 2 5 8 -5 -9 -8 1 -2 -1 3 8 1 -3 8 2 -5 8 -3 4 -4 -2 5 0 -2 -4 4 -3 9 6 -1 -2 4 1 2 -9 3 5 6 -4 4 -1 -4 -4 6 6 9 -2 1 -9 -3 -7 3 -4 1 -1 6 3 1 -5 9 5 -5 -9 -5 -7 4 6 8 8 4 -4 4 -7 -8 -5 5 1 5 0 6 3 15 17 14 7 15 3 1 5 7 6 8 14 10 3 5 3 5 9 5 9 5 1 4 12 6 16 11 16 7 9 3 13 13 10 9 1 5 6 2 5 8 5 9 4 15 8 8 14 13 13 18 1 12 11 5 3 5 0 4 6 14 15 4 14 11 9 5 0 6 2 7 8 8 6 6 6 5 7 17 17 17 17 19 3 9 7 7 2 7 8 4 7 7 0 4 13 16 10 19 17 19 12 19 3 1 5 1 3 7 16 8 5 7 4 9 1 4 6 8 4 3 6 12 6 19 10 1 4 1 3 6 3 5 15 18 14 Output 10.0000000000 impossible 11.9354380207 # Solution #include <bits/stdc++.h> using namespace std; #define dump(...) cout<<"# "<<#__VA_ARGS__<<'='<<(__VA_ARGS__)<<endl #define repi(i,a,b) for(int i=int(a);i<int(b);i++) #define peri(i,a,b) for(int i=int(b);i-->int(a);) #define rep(i,n) repi(i,0,n) #define per(i,n) peri(i,0,n) #define all(c) begin(c),end(c) #define mp make_pair #define mt make_tuple typedef unsigned int uint; typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<ll> vl; typedef vector<vl> vvl; typedef vector<double> vd; typedef vector<vd> vvd; typedef vector<string> vs; template<typename T1,typename T2> ostream& operator<<(ostream& os,const pair<T1,T2>& p){ return os<<'('<<p.first<<','<<p.second<<')'; } template<typename Tuple> void print_tuple(ostream&,const Tuple&){} template<typename Car,typename...Cdr,typename Tuple> void print_tuple(ostream& os,const Tuple& t){ print_tuple<Cdr...>(os,t); os<<(sizeof...(Cdr)?",":"")<<get<sizeof...(Cdr)>(t); } template<typename...Args> ostream& operator<<(ostream& os,const tuple<Args...>& t){ print_tuple<Args...