Submission #1084251

#TimeUsernameProblemLanguageResultExecution timeMemory
1084251De3b0oFire (BOI24_fire)C++17
40 / 100
49 ms8460 KiB
#include<bits/stdc++.h> #include<random> #define ll long long #define F first #define S second #define in insert #define pb push_back #define ppb pop_back() #define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define cans cout << ans << "\n"; #define yes cout << "Yes" << "\n"; #define no cout << "No" << "\n"; #define pll pair<ll,ll> #define lin cout << "\n"; #define sqr 340 #define mod 1000000007 #define mid ((l+r)/2) #define lc (2*x) #define rc (2*x+1) #define sq 547 using namespace std; ll n , m; vector<pll> v; ll ans; ll l[200009] , r[200009]; ll idx; void pro(ll s , ll e , ll t) { bool g = 1; ll ans1 = t; ll id = s; while(id<=e) { while(idx<v.size()) { if(v[idx].F<=id) idx++; else break; } if(idx==0) { g=0; break; } ll ne = v[idx-1].S; if(ne<id) { g=0; break; } ans1++; id=ne+1; } if(g) ans=min(ans,ans1); } int main() { cin >> n >> m; ans=n+1; for(int i = 0 ; n>i ; i++) cin >> l[i] >> r[i]; for(int i = 0 ; n>i ; i++) { ll x = l[i] , y = r[i]; if(x>y) y=m; v.pb({x,y}); } sort(v.begin(),v.end()); for(int i = 1 ; v.size()>i ; i++) v[i].S=max(v[i].S,v[i-1].S); for(int i = 0 ; n>i ; i++) { if(l[i]>r[i]) { idx=0; pro(r[i]+1,l[i]-1,1); } } idx=0; pro(0,m,0); if(ans==n+1) ans=-1; cans }

Compilation message (stderr)

Main.cpp: In function 'void pro(long long int, long long int, long long int)':
Main.cpp:37:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |         while(idx<v.size())
      |               ~~~^~~~~~~~~
Main.cpp: In function 'int main()':
Main.cpp:76:29: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   76 |     for(int i = 1 ; v.size()>i ; i++)
      |                     ~~~~~~~~^~
#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...