Codeforces Round #643 (Div. 2)C

4426 ワード

タイトルリンクのタイトル:
x,y,zの3つの整数はa<=x<=b<=y<=c<=z<=dを満たし、辺長x,y,zからなる三角形の個数を求める.
#pragma GCC optimize(2)
#include 
#define ll long long
using namespace std;
int main()
{
 	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
 		ll a,b,c,d,ans=0;
		 cin>>a>>b>>c>>d;
		for(ll i=a+b;i<=b+c;i++)
		{
			ll x=min(b,i-b)-max(a,i-c)+1,z=min(i-1,d)-c+1;
			//  z
			if(x<0||z<0)continue;
			else ans+=x*z; 
		} 
		 cout<<ans<<'
'
; }