CodeChef submission 107851 (C++ 4.0.0-8) plaintext list. Status: TLE, problem H2, contest OCT09. By pmnox (pmnox), 2009-10-10 21:13:15.
#include <cstdio> #include <algorithm> #include <vector> #include <set> #include <map> #include <string> #include <numeric> #include <cmath> #include <cstdlib> #include <iostream> #include <sstream> #include <cstring> using namespace std; #define rep(i,b) for(int i=(0);i<(b);++i) #define fo(i,a,b) for(int i=(a);i<=(b);++i) #define ford(i,a,b) for(int i=(a);i>=(b);--i) #define fore(a,b) for(__typeof((b).begin()) a = (b).begin();a!=(b).end();++a) #define vv vector #define pb push_back #define ll long long #define ld long double #define ss(a) (int)(a).size() #define all(x) (x).begin(),(x).end() #define clr(x,a) memset(x,a,sizeof(x)) #define vi vv<int> #define vs vv<string> int cond = (ll)1; #define db(x) { if (cond > 0) { cond--; rep (xxx, 1) cerr << __LINE__ << " " << #x << " " << x << endl; cerr.flush(); } } const int sz = 100011; int w[sz]; int h[sz]; int n; bool can(ld mid) { vv<ld> val; rep (i, n) val.pb( w[i] - h[i]/mid + 10); sort(all(val)); rep (i, n/2) if (val[i] + val[n-1-i] > 0) return 0; return 1; } void solve() { rep (i, n) { } ld le = 0; ld ri = 10; rep (i, 200) { ld mid = (le + ri) / 2; if (can(mid)) le = mid; else ri = mid; } } int main(int argc, char ** argv) { ios::sync_with_stdio(false); cond = argc >= 2 && argv[1][0] == 'q' ? 1 << 30 : 0; solve(); return 0; }
Comments

