제출 #535954

#제출 시각아이디문제언어결과실행 시간메모리
535954inksamuraiOsumnjičeni (COCI21_osumnjiceni)C++17
10 / 110
1076 ms15724 KiB
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(int i=0;i<n;i++) #define rng(i,x,n) for(int i=x;i<n;i++) #define per(i,n) for(int i=n-1;i>=0;i--) #define fi first #define se second #define pb push_back #define sz(a) (int)a.size() #define vec(...) vector<__VA_ARGS__> #define _3HspL4A ios::sync_with_stdio(0),cin.tie(0) typedef long long ll; using pii=pair<int,int>; using vi=vec(int); void print(){cout<<"\n";} template<class T,class...E> void print(const T&v,const E&...u){cout<<v<<' ',print(u...);} // e using vp=vec(pii); const int inf=1e9+11; int cross(int a,int b,int c,int d){ if(c>=a and c<=b) return 1; if(a>=c and a<=d) return 1; if(d>=a and d<=b) return 1; if(b>=c and b<=d) return 1; return 0; } signed main(){ _3HspL4A; int n; cin>>n; vp a(n); rep(i,n){ cin>>a[i].fi>>a[i].se; } vi tmp; rep(i,n){ tmp.pb(a[i].fi); tmp.pb(a[i].se); } sort(tmp.begin(),tmp.end()); tmp.erase(unique(tmp.begin(),tmp.end()),tmp.end()); rep(i,n){ a[i].fi=lower_bound(tmp.begin(),tmp.end(),a[i].fi)-tmp.begin(); a[i].se=lower_bound(tmp.begin(),tmp.end(),a[i].se)-tmp.begin(); } const int m=sz(tmp); int q; cin>>q; rep(_,q){ int s,t; cin>>s>>t; s-=1; int l=a[s].fi,r=a[s].se; int cnt=1; set<pii> st; st.insert({l,r}); for(int j=s+1;j<t;j++){ vi c={a[j].fi,a[j].se}; bool pok=1; for(auto v:c){ auto it=st.lower_bound({v,-inf}); if(it!=st.end()){ pii p=*it; if(cross(p.fi,p.se,a[j].fi,a[j].se)){ pok=0; } auto nit=it; nit=next(nit); if(nit!=st.end()){ pii p=*nit; if(cross(p.fi,p.se,a[j].fi,a[j].se)){ pok=0; } } } if(it!=st.begin()){ it=prev(it); pii p=*it; // if(j==1) print(p.fi,p.se); if(cross(p.fi,p.se,a[j].fi,a[j].se)){ pok=0; } } } if(!pok){ cnt++; st.clear(); } // print(j,pok); st.insert({a[j].fi,a[j].se}); } print(cnt); } // return 0; }

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'int main()':
Main.cpp:52:12: warning: unused variable 'm' [-Wunused-variable]
   52 |  const int m=sz(tmp);
      |            ^
#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...