397A - On Segment's Own Points - CodeForces Solution


implementation

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
using ll=long long;

int main() {
    int n;cin>>n;
    vector<pair<int,int>>v;
    vector<pair<int,int>>a;
    for(int i=0;i<n;i++){
        pair<int,int>p;
        cin>>p.first;
        cin>>p.second;
        v.push_back(p);
    }
    int l=v[0].second-v[0].first;
    if(n==1){
        cout<<l<<endl;
        return 0;
    }
    sort(v.begin()+1,v.end());
    int px=v[1].first;
    int py=v[1].second;
    for(int i=2;i<n;i++){
        int x=v[i].first;
        int y=v[i].second;
        if(x>=py){
            a.push_back(make_pair(px,py));
            px=x;
            py=y;
        }
        else{
            if(y>=py) py=y;
        }
    }
    //cout<<px<<" "<<py<<" "<<endl;
    a.push_back(make_pair(px,py));
    // cout<<a.size();
    for(int i=0;i<a.size();i++){
        int x=a[i].first;
        int y=a[i].second;
        // cout<<x<<" "<<y<<" "<<endl;
        if(x>=v[0].second) continue;
        else if(x<v[0].second && x>=v[0].first){
            if(y<=v[0].second) l=l-(y-x);
            else l=l-(v[0].second-x);
        }
        else if(x<=v[0].first && y>=v[0].second){
            l=0;
            continue;
        }
        else{
            if(y<=v[0].first) continue;
            else l=l-(y-v[0].first);
        }
    }
    cout<<l<<endl;
	return 0;
}


Comments

Submit
0 Comments
More Questions

409. Longest Palindrome
1574A - Regular Bracket Sequences
1574B - Combinatorics Homework
1567A - Domino Disaster
1593A - Elections
1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie
1605B - Reverse Sort
1607C - Minimum Extraction
1604B - XOR Specia-LIS-t
1606B - Update Files
1598B - Groups