题解 CF673B 【Problems for Round】

思路


根据给出的关系找出$Div1$的最小数和$Div2$的最大数就可以了。

#include<bits/stdc++.h>
using namespace std;
int n,m,maxn,minn;
int main(){
    while(cin>>n>>m){
        maxn=1;
        minn=n;
        int a,b;
        while(m--){
            cin>>a>>b;
            maxn=max(maxn,min(a,b));
            minn=min(minn,max(a,b));//先把未分配的数都分到Div1 然后从Div1从小到大往Div2拿。
        }
        if(minn-maxn>0)
            cout<<minn-maxn<<endl;
        else
            cout<<0<<endl;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/Sworddust/p/11427864.html