题解 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; }