// 2009模擬地区予選 F : Water Tank #include #include #include #include using namespace std; const double EPS = 1e-12; int main(){ double water[86401]; int N; double L; while(cin >> N >> L, N){ for(int i=0;i<86400;i++) water[i] = 0; for(int i=0;i> s >> t >> d; for(int j=s;j1e-8){ // mid : 水の供給量 double mid = (left+right)/2.0; // tank : タンクに残ってる水の量 double tank = L; // flag : タンクの水量が負になったらfalse // flagB : 2回目の繰り返しで水量満タンになる日があればtrue bool flag = true, flagB = false; for(int i=0;i<86400&&flag;i++){ // タンクの水量を更新 tank = min(L, tank+mid-water[i]); if(tank < 0) flag = false; } // 2日目 for(int i=0;i<86400&&flag;i++){ tank = min(L, tank+mid-water[i]); if(tank < 0) flag = false; // どっかで水量が満タンになる日があればパターン入る if(abs(L-tank)