#include <bits/stdc++.h>
// #include </Users/alinurkoshkimbay/Desktop/bits/stdc++.h>
// freopen
#define open freopen("stdin.txt", "r", stdin); freopen("stdout.txt", "w", stdout);
// int, double, string, char
#define ll long long
#define ull unsigned long long
#define ld long double
#define db double
#define str string
// double 2.0
#define cl ceil
#define rd round
#define tr trunc
#define fl floor
// cin, cout
#define co cout <<
#define ci cin >>
#define YES cout << "YES"
#define NO cout << "NO"
#define yes cout << "yes"
#define no cout << "no"
#define Yes cout << "Yes"
#define No cout << "No"
#define en << endl
#define fix(x) fixed << setprecision(x)
#define stp(x) setprecision(x)
// vector
#define vll vector <ll>
#define vld vector <ld>
#define vs vector <str>
#define vc vector <char>
// pair
#define plll pair<ll, ll>
#define plld pair<ll, ld>
#define plls pair<ll, str>
#define pllc pair<ll, char>
#define pldl pair<ld, ll>
#define pldd pair<ld, ld>
#define plds pair<ld, str>
#define pldc pair<ld, char>
#define psll pair<str, ll>
#define psld pair<str, ld>
#define pss pair<str, str>
#define psc pair<str, char>
#define pcll pair<char, ll>
#define pcld pair<char, ld>
#define pcs pair<char, str>
#define pcc pair<char, char>
// vector<pair>
#define vplll vector<pair<ll, ll> >
#define vplld vector<pair<ll, ld> >
#define vplls vector<pair<ll, str> >
#define vpllc vector<pair<ll, char> >
#define vpldl vector<pair<ld, ll> >
#define vpldd vector<pair<ld, ld> >
#define vplds vector<pair<ld, str> >
#define vpldc vector<pair<ld, char> >
#define vpsll vector<pair<str, ll> >
#define vpsld vector<pair<str, ld> >
#define vpss vector<pair<str, str> >
#define vpsc vector<pair<str, char> >
#define vpcll vector<pair<char, ll> >
#define vpcld vector<pair<char, ld> >
#define vpcs vector<pair<char, str> >
#define vpcc vector<pair<char, char> >
// set
#define stll set <ll>
#define stld set <ld>
#define sts set <str>
#define stc set <char>
// multiset
#define mstll multiset <ll>
#define mstld multiset <ld>
#define msts multiset <str>
#define mstc multiset <char>
// set pair
#define stplll set<pair<ll, ll> >
#define stplld set<pair<ll, ld> >
#define stplls set<pair<ll, str> >
#define stpllc set<pair<ll, char> >
#define stpldl set<pair<ld, ll> >
#define stpldd set<pair<ld, ld> >
#define stplds set<pair<ld, str> >
#define stpldc set<pair<ld, char> >
#define stpsll set<pair<str, ll> >
#define stpsld set<pair<str, ld> >
#define stpss set<pair<str, str> >
#define stpsc set<pair<str, char> >
#define stpcll set<pair<char, ll> >
#define stpcld set<pair<char, ld> >
#define stpcs set<pair<char, str> >
#define stpcc set<pair<char, char> >
// multiset pair
#define mstplll multiset<pair<ll, ll> >
#define mstplld multiset<pair<ll, ld> >
#define mstplls multiset<pair<ll, str> >
#define mstpllc multiset<pair<ll, char> >
#define mstpldl multiset<pair<ld, ll> >
#define mstpldd multiset<pair<ld, ld> >
#define mstplds multiset<pair<ld, str> >
#define mstpldc multiset<pair<ld, char> >
#define mstpsll multiset<pair<str, ll> >
#define mstpsld multiset<pair<str, ld> >
#define mstpss multiset<pair<str, str> >
#define mstpsc multiset<pair<str, char> >
#define mstpcll multiset<pair<char, ll> >
#define mstpcld multiset<pair<char, ld> >
#define mstpcs multiset<pair<char, str> >
#define mstpcc multiset<pair<char, char> >
// map
#define mll map<ll, ll>
#define mld map<ll, ld>
#define mls map<ll, str>
#define mlc map<ll, char>
#define mdl map<ld, ll>
#define mdd map<ld, ld>
#define mds map<ld, str>
#define mdc map<ld, char>
#define msl map<str, ll>
#define msd map<str, ld>
#define mss map<str, str>
#define msc map<str, char>
#define mcl map<char, ll>
#define mcd map<char, ld>
#define mcs map<char, str>
#define mcc map<char, char>
// const
#define cll const ll
#define cull const ull
#define cld const ld
#define cc const char
#define cs const str
// prosta 1
#define to_str to_string
#define stl stoll
#define pb push_back
#define pp pop_back
#define sz size()
#define cr clear()
#define rvs reverse
#define ins insert
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define all1(x) x.begin() + 1, x.end() + 1
#define allx(x, n, k) x + k, x + n + k
#define F first
#define S second
#define mp make_pair
// prosta 2
#define nxt_per next_permutation
#define prev_per prev_permutation
#define use using namespace std
// for
#define fori(i, y, n, x) for (ll i = y; i <= n; i += x)
#define brk break
#define con continue
#define rt return
#define rt0 return 0
// faster
#define sho_tam ios_base::sync_with_stdio(false); cin.tie(nullptr);
use;
cll N_min = 1e3 + 6;
cll N = 1e5 + 1;
cll NN = 4e5 + 3;
cll N_max = 1e6 + 1;
cll NNN = 1e8;
cll mod = 1e9 + 7;
cll inf = 1e18;
cld pi1 = 3.14159;
cld pi = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913151557485724245415069595082;
ll gcd(ll a, ll b) {
if (!a) rt b;
if (!b) rt a;
if (a == b) rt a;
if (a > b) rt gcd(a - b, b);
rt gcd(a, b - a);
}
ll lcm(ll a, ll b) {
rt (a / gcd(a, b)) * b;
}
ll binpow(ll a, ll b) {
if (b == 0) rt 1;
ll o = binpow(a, b / 2);
o *= o;
o %= mod;
if (b % 2 == 1) o *= a;
o %= mod;
rt o;
}
ll n;
ld a[N], b[N];
ld pa[N], pb[N];
ld get(ll i) {
ll l = 1, r = n;
while (l <= r) {
ll mid = (r - l) / 3;
ll mid1 = l + mid, mid2 = l + mid * 2;
ld o = min(pa[i] - (i + mid1), pb[mid1] - (i + mid1));
ld p = min(pa[i] - (i + mid2), pb[mid2] - (i + mid2));
co i << " " << l << " " << r << " " << mid << " " << mid1 << " " << mid2 << " " << o << " " << p en;
if (o >= p) r = mid2 - 1;
else l = mid1 + 1;
}
r++;
ld o = min(pa[i] - (i + r), pb[r] - (i + r));
rt o;
}
void vvv() {
ci n;
for (ll i = 1; i <= n; i++) ci a[i] >> b[i];
sort(allx(a, n, 1));
sort(allx(b, n, 1));
for (ll i = 1; i + i <= n; i++) swap(a[i], a[n - i + 1]), swap(b[i], b[n - i + 1]);
pa[0] = pb[0] = 0;
for (ll i = 1; i <= n; i++) pa[i] = pa[i - 1] + a[i], pb[i] = pb[i - 1] + b[i], co a[i] << " " << b[i] << " " << pa[i] << " " << pb[i] en;
ld mx = 0;
for (ll i = 1; i <= n; i++) mx = max(mx, get(i));
co fix(4) << mx;
}
int main() {
open;
sho_tam
ll KKK = 1;
// ci KKK;
// prostoi();
// fibonacci();
for (ll ooo = 1; ooo <= KKK; ooo++) vvv();
rt0;
}
/*
CHAR_MIN : -128
CHAR_MAX : 127
SHRT_MIN : -32768
SHRT_MAX : 32767
USHRT_MAX : 65535
INT_MIN : -2147483648
INT_MAX : 2147483647
UINT_MAX : 4294967295
LONG_MIN : -9223372036854775808
LONG_MAX : 9223372036854775807
ULONG_MAX : 18446744073709551615
LLONG_MIN : -9223372036854775808
LLONG_MAX : 9223372036854775807
ULLONG_MAX : 18446744073709551615k
*/
/*
| ________ ____________________________ ____________________________
| / \ | | | / |
| / \ | | | / |
| / \ | | | / |
| / \ | | | / |
| / \ | | | / |
| / \ | | | / |
| / \ | | | / |
| / \ | | | / |
| / \ | | | / |
| / \ | | | /\ |
| /____________________________\ | |–––––––––––––––––––––––– | / \ |––––––––––––––––––––––––
| /——————————————————————————————\ | | |/ \ |
| / \ | | | \ |
| / \ | | | \ |
| / \ | | | \ |
| / \ | | | \ |
| / \ | | | \ |
| / \ | | | \ |
| / \ | | | \ |
| / \ | | | \ |
| / \ |_____________________________ |___________________________ | \ |___________________________
*/
컴파일 시 표준 에러 (stderr) 메시지
sure.cpp: In function 'int main()':
sure.cpp:5:21: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
5 | #define open freopen("stdin.txt", "r", stdin); freopen("stdout.txt", "w", stdout);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
sure.cpp:248:5: note: in expansion of macro 'open'
248 | open;
| ^~~~
sure.cpp:5:55: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
5 | #define open freopen("stdin.txt", "r", stdin); freopen("stdout.txt", "w", stdout);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
sure.cpp:248:5: note: in expansion of macro 'open'
248 | open;
| ^~~~| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |