Submission #1267184

#TimeUsernameProblemLanguageResultExecution timeMemory
1267184Nika533Fire (BOI24_fire)C++20
13 / 100
115 ms6808 KiB
#include <bits/stdc++.h> #define int long long #define pii pair<int,int> #define f first #define s second #define all(x) x.begin(),x.end() #define allr(x) x.rbegin(),x.rend() using namespace std; const int N=2e5+5; int n,m,l[N],r[N]; main() { cin>>n>>m; vector<pii> v; for (int i=1; i<=n; i++) { cin>>l[i]>>r[i]; if (r[i]<l[i]) r[i]+=m; v.push_back({l[i],-r[i]}); } sort(all(v)); for (int i=1; i<=n; i++) { l[i]=v[i-1].f; r[i]=-v[i-1].s; } int cnt=1e9,big=1e9; for (int i=1; i<=1; i++) { int last=r[i]; int mx=last; int cnt2=1; bool check=true; for (int j=i+1; j<=n; j++) { int L=l[j],R=r[j]; if (L>last) { j--; if (L>mx) { check=false; break; } last=mx; cnt2++; continue; } mx=max(mx,R); } if (!check) continue; for (int j=1; j<i; j++) { int L=l[j],R=r[j]; L+=m; R+=m; if (L>last) { j--; if (L>mx) { check=false; break; } last=mx; cnt2++; continue; } mx=max(mx,R); } if (last<l[i]+m) { if (mx<l[i]+m) check=false; else cnt2++; } if (!check) continue; cnt=min(cnt,cnt2); } if (cnt==big) cnt=-1; cout<<cnt<<endl; }

Compilation message (stderr)

Main.cpp:13:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   13 | main() {
      | ^~~~
#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...