Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;#define dbg(x) cerr << #x"=" << x << endl;typedef long long LL;int main(){// freopen("in.txt", "r", stdin);LL X,Y,H,D;scanf("%lld+%lld", &X, &Y);scanf("%lld+%lld", &H, &D);LL fm = (D+1)*(Y+1);LL k = X-H;if(k < -1LL*Y) {printf("0.00\n");} else if(k > D){printf("1.00\n");} else {LL fz = 0;bool f1 = (-1LL*k >= 0 && -1LL*k <= Y);bool f2 = ((Y+k) >= 0 && (Y+k) <= D);bool f3 = ((D-k) >= 0 && (D-k) <= Y);bool f4 = (k >= 0 && k <= D);if(f1 && f2){fz = (Y+k+1)*(Y+k+2)/2;}if(f1 && f3){fz = (Y+1)*(Y+2LL*k+2)/2;}if(f4 && f3){fz = (Y+1)*k + (Y-k+1)*(Y+k+2)/2;