A Tokitsukaze and a+b=n (easy)

两个循环过不了,写一个就可以过啦(B题另外的写法,毕竟时间宝贵)

思路

1.先判断一下相加能否满足条件,不能直接输出0

int i=l1;i<=min(r1,n);i++ (这样写可以少一丢丢循环次数)

2.就写一个循环,然后判断n-i在不在第二行中就行啦 (n-i>=l2&&n-i<=r2)

#include <iostream>
using namespace std;

int main() {
    int t, n, l1, l2, r1, r2, res;
    cin>>t;
    while (t--) { 
        res=0;
        cin>>n;
        cin>>l1>>r1;
        cin>>l2>>r2;
        if(l1+l2>n||r1+r2<n){
            cout<<res<<endl;
        }else{
            for(int i=l1;i<=min(r1,n);i++){
              if(n-i>=l2&&n-i<=r2){
                res++;
              } 
            }
            cout<<res<<endl;
        } 
    }
}