頭良くなりたい人

文系大学生shadeのブログです。競技プログラミングや人文学の話題,受験ネタなど。

ABC127 C - Prison

問題はこちら atcoder.jp

方針

1 枚だけで全てのゲートを通過できるIDカードは,L_1,...,R_1 から L_M,...,R_M まですべての共通範囲です。

コード

#include <bits/stdc++.h>
using namespace std;
 
int main(){
    int n,m;
    cin>>n>>m;
 
    vector<int> l(m),r(m);
    for(int i=0; i<m; i++){
        cin>>l[i]>>r[i];
    }
 
    bool exist=true;
    int tent_l=0,tent_r=0;
 
    tent_l=l[0];
    tent_r=r[0];
 
    for(int i=0; i<m-1; i++){
        tent_l=max(tent_l,l[i+1]);
        tent_r=min(tent_r,r[i+1]);
        if(tent_l>tent_r){
            exist=false;
            break;
        }
    }
 
    cout<<(exist==true ? tent_r-tent_l+1 : 0)<<endl;
}