Submission #1139979

#TimeUsernameProblemLanguageResultExecution timeMemory
1139979Muhammad_AneeqFire (BOI24_fire)C++20
0 / 100
0 ms324 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #pragma GCC optimize("O2") #pragma GCC optimize("Ofast") #include <iostream> #include <algorithm> #include <queue> #include <set> #include <vector> #warning check the output using namespace std; int const N=2e5+10; pair<int,int>a[N]; int ans=N; int n,m; int bfs(int s) { queue<pair<int,int>>Q; Q.push({1,s}); vector<int>nv; for (int i=0;i<n;i++) { if (i!=s) nv.push_back(i); } reverse(begin(nv),end(nv)); while (Q.size()) { int co,f; tie(co,f)=Q.front(); if (a[f].second>=a[s].first+m) return co; Q.pop(); int j=nv.back(); if (a[j].first>=a[f].first&&a[j].first<=a[f].second) Q.push({co+1,j}); nv.pop_back(); } return n+10; } inline void solve() { cin>>n>>m; vector<pair<int,int>>z; for (int i=0;i<n;i++) { cin>>a[i].first>>a[i].second; if (a[i].second<a[i].first) a[i].second+=m; } sort(a,a+n); z.push_back(a[0]); for (int i=1;i<n;i++) { if (a[i].first==z.back().first) z.pop_back(); z.push_back(a[i]); } n=z.size(); for (int i=0;i<n;i++) a[i]=z[i]; ans=bfs(0); // for (int i=0;i<n;i++) // ans=min(ans,bfs(i)); if (ans>n) ans=-1; cout<<ans<<endl; } int main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int t=1; for (int i=1;i<=t;i++) { solve(); } }

Compilation message (stderr)

Main.cpp:13:2: warning: #warning check the output [-Wcpp]
   13 | #warning check the output
      |  ^~~~~~~
#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...