A. Pouring Rain
time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

A lot of people in Berland hates rain, but you do not. Rain pacifies, puts your thoughts in order. By these years you have developed a good tradition — when it rains, you go on the street and stay silent for a moment, contemplate all around you, enjoy freshness,
think about big deeds you have to do.

Today everything had changed quietly. You went on the street with a cup contained water, your favorite drink. In a moment when you were drinking a water you noticed that the process became quite long: the cup still contained water because of rain. You decided
to make a formal model of what was happening and to find if it was possible to drink all water in that situation.

Thus, your cup is a cylinder with diameter equals d centimeters. Initial level of water in cup equals h centimeters
from the bottom.

You drink a water with a speed equals v milliliters per second. But rain goes with such speed that if you do not drink a water from
the cup, the level of water increases on e centimeters per second. The process of drinking water from the cup and the addition of
rain to the cup goes evenly and continuously.

Find the time needed to make the cup empty or find that it will never happen. It is guaranteed that if it is possible to drink all water, it will happen not later than after 104 seconds.

Note one milliliter equals to one cubic centimeter.

Input

The only line of the input contains four integer numbers d, h, v, e (1 ≤ d, h, v, e ≤ 104),
where:

  • d — the diameter of your cylindrical cup,
  • h — the initial level of water in the cup,
  • v — the speed of drinking process from the cup in milliliters per second,
  • e — the growth of water because of rain if you do not drink from the cup.
Output

If it is impossible to make the cup empty, print "NO" (without quotes).

Otherwise print "YES" (without quotes) in the first line. In the second line print a real number — time in seconds needed the cup will be empty. The answer
will be considered correct if its relative or absolute error doesn't exceed 10 - 4.
It is guaranteed that if the answer exists, it doesn't exceed 104.

Examples
input
1 2 3 100
output
NO
input
1 1 1 1
output
YES

3.659792366325
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
#include <math.h>
#include <stdio.h> using namespace std;
double d,h,v,e;
int main()
{
scanf("%lf%lf%lf%lf",&d,&h,&v,&e);
double pi=2*asin(1.0);
double ve=pi*(d/2)*(d/2)*e;
double v1=pi*(d/2)*(d/2)*h;
if(v<=ve)
{printf("NO\n");return 0;}
else
{
printf("YES\n");
printf("%lf\n",v1/(v-ve));
return 0;
} }

最新文章

  1. tomcat启动的了,但是加载项目失败
  2. Github团队开发示例(二)
  3. java 网络(socket)
  4. 配置Tomcat使用Redis作为session管理
  5. JS-DOM 综合练习-动态添加删除班级成绩表
  6. POJ 3278Catch That Cow
  7. 利用 Composer 完善自己的 PHP 框架(一)——视图装载
  8. 第八章 CTE 递归 及 分组汇总 高级部分(多维数据集)
  9. PhpStorm 注册码
  10. 移植openssh到nuc951 evb板
  11. unity3d简单的相机跟随及视野旋转缩放
  12. php随意笔记
  13. 【编程之外】还记得曾经给&#39;大学导师&#39;写过的报告嘛 --&gt; 前方高能
  14. 笔记:MyBatis XML配置-Settings 完整属性表
  15. java实现注册的短信验证码
  16. Ocelot中文文档-Not Supported
  17. idea报错:[2016-08-31 09:20:10,763] Artifact xxx:war exploded: Error during artifact deployment.
  18. 05 ajax,jquery,xstream,json解析
  19. svn 红叉叉图标解决方法
  20. Mysql各种存储引擎的特性以及如何选择存储引擎

热门文章

  1. 求1,1,2,3,5,8,13 斐波那契数列第N个数的值
  2. python字符串操作,以及对应的C#实现
  3. [gj]来公司停电了-维护机器
  4. Jmeter常用操作
  5. python之字符串处理
  6. [转]C++11 标准新特性:Defaulted 和 Deleted 函数
  7. 对java中hashmap深入理解
  8. linux学习笔记14--命令which和whereis
  9. 记centos 安装 mysql5.7.23.tar.gz教程
  10. 如何使用UltraISO将制作的ios文件挂载到虚拟机上面