Submission #1155656

#TimeUsernameProblemLanguageResultExecution timeMemory
1155656adiyerFire (BOI24_fire)C++20
13 / 100
45 ms4936 KiB
#include <bits/stdc++.h> #define all(x) x.begin(), x.end() #define len(s) (ll) s.size() #define pb push_back #define F first #define S second using namespace std; typedef long long ll; const int N = 2e5 + 17; const int P = 31; const int mod = 1e9 + 7; const ll inf = 1e18; ll n, m; ll l[N], r[N], ord[N]; bool cmp(ll i, ll j){ return l[i] < l[j]; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m; for(ll i = 1; i <= n; i++){ cin >> l[i] >> r[i], ord[i] = i; if(r[i] < l[i]) r[i] = m; } sort(ord + 1, ord + n + 1, cmp); ll fin = 0, next_fin = -1, res = 0; for(ll _i = 1; _i <= n; _i++){ ll i = ord[_i]; if(l[i] <= fin){ next_fin = max(next_fin, r[i]); } else{ if(next_fin <= fin) { cout << -1; return 0; } fin = next_fin, res++, _i--; if(fin == m) break; } if(next_fin == m){ res++; break; } } cout << res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...