#include<bits/stdc++.h>
using namespace std;
#define ll long long
void update(pair<ll, ll> &wyn, ll var, ll s){
if(var < 1) return;
if(wyn.first > abs(var - s)) wyn = {abs(var - s), var};
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
ll n, s;
int m;
cin >> n >> m >> s;
vector<pair<ll, ll>> prz;
ll l, r;
for(int i = 0; i < m; i++){
cin >> l >> r;
prz.push_back({l, r});
}
sort(prz.begin(), prz.end());
pair<ll, ll> wyn = {n + 1, -1};
ll poprz = -1, act_pocz = - 1;
for (auto p : prz){
if(poprz + 1 != p.first){
update(wyn, poprz + 1, s);
act_pocz = p.first;
update(wyn, act_pocz - 1, s);
}
poprz = p.second;
// cerr << "poprz: " << poprz << '\n';
// cerr << "act_pocz: " << act_pocz << '\n';
// cerr << "wyn: " << wyn.first << ' ' << wyn.second << '\n';
}
if(poprz < n) update(wyn, poprz + 1, s);
cout << wyn.second << '\n';
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include<bits/stdc++.h> using namespace std; #define ll long long void update(pair<ll, ll> &wyn, ll var, ll s){ if(var < 1) return; if(wyn.first > abs(var - s)) wyn = {abs(var - s), var}; } int main(){ ios_base::sync_with_stdio(0);cin.tie(0); ll n, s; int m; cin >> n >> m >> s; vector<pair<ll, ll>> prz; ll l, r; for(int i = 0; i < m; i++){ cin >> l >> r; prz.push_back({l, r}); } sort(prz.begin(), prz.end()); pair<ll, ll> wyn = {n + 1, -1}; ll poprz = -1, act_pocz = - 1; for (auto p : prz){ if(poprz + 1 != p.first){ update(wyn, poprz + 1, s); act_pocz = p.first; update(wyn, act_pocz - 1, s); } poprz = p.second; // cerr << "poprz: " << poprz << '\n'; // cerr << "act_pocz: " << act_pocz << '\n'; // cerr << "wyn: " << wyn.first << ' ' << wyn.second << '\n'; } if(poprz < n) update(wyn, poprz + 1, s); cout << wyn.second << '\n'; } |
English