## A - T-shirt Editorial by en_translator

If you are new to learning programming and do not know where to start, please try Problem A “Welcome to AtCoder” from practice contest. There you can find a sample code for each language.

Also, if you are not familiar to problems in programming contests, we recommend you to try some problems in “AtCoder Beginners Selection” (https://atcoder.jp/contests/abs).

「競プロ典型 90 問」(Typical 90 Problems of Competitive Programming) (https://atcoder.jp/contests/typical90) is a collection of typical 90 competitive programming problems; unfortunately, currently the problem statements are all Japanese.

「C++入門 AtCoder Programming Guide for beginners (APG4b)」(https://atcoder.jp/contests/APG4b) is a C++ tutorial for competitive programmers. Sadly, this is only in Japanese too.

You can find the answer in the following flow.

- If \(X \le A\), then the answer is \(1\);
- otherwise, if \(X \le B\), then the answer is \(\frac{C}{B-A}\);
- otherwise, the answer is \(0\).

This can be implemented with if statements.

Be careful of how to output real numbers. Especially, your answer may be judged to be a wrong answer due to the lack of digits to be output.

The way to handle this issue varies language to language. For example, one of the solutions in C++ is to use printf. In the sample code, the output format specifies that \(12\) digits after the decimal point should be printed.

Sample code (C++):

```
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c,x;
cin >> a >> b >> c >> x;
if(x<=a){printf("%.12lf\n",1.0);}
else if(x<=b){
double res=c;
res/=(b-a);
printf("%.12lf\n",res);
}
else{
printf("%.12lf\n",0.0);
}
return 0;
}
```

posted:

last update: