CodeChef submission 107789 (C++ 4.0.0-8) plaintext list. Status: AC, problem H2, contest OCT09. By braineater (Harpreet Singh), 2009-10-10 20:47:43.
#include <cstdio> #include <vector> #include <cmath> #include <cassert> #include <algorithm> using namespace std; double m; int S[110000], W[110000]; double A[110000]; int main() { int N; for(int i=0; i<N; i++){ } double l=0, r=10; while(r-l>2e-6){ m = (l+r)/2; bool cando=true; for(int i=0; i<N; i++){ A[i] = S[i]-m*W[i]; } sort(A, A+N); for(int i=0; 2*i<N; i++){ if(A[i]+A[N-i-1]<20*m) cando = false; } if(cando) l=m; else r=m; } return 0; }
Comments

