Submission #1985297
Source Code Expand
#include <bits/stdc++.h> const int N=2e5+10,Mod=1e9+7; struct Node{ int k,x,l,r; bool operator < ( const Node &A ) const { return (r<A.r) || ( r==A.r && l<A.l); } }p[N]; bool cmpk( const Node &A , const Node &B ) { return A.k<B.k; } bool cmpx( const Node &A , const Node &B ) { return A.x<B.x; } int n,f[N],sum[N]; void Init() { scanf("%d",&n); for (int i=1;i<=n;++i) scanf("%d%d",&p[i].x,&p[i].k); } void Solve() { std::sort(p+1,p+n+1,cmpk); for (int i=1;i<=n;++i) p[i].k=i; std::sort(p+1,p+n+1,cmpx); for (int i=1;i<=n;++i) p[i].x=i; int mx=-Inf; for (int i=1;i<=n;++i) { mx=std::max(mx,p[i].k); p[i].r=mx; } int mn=Inf; for (int i=n;i>=1;--i) { mn=std::min(mn,p[i].k); p[i].l=mn; } std::sort(p+1,p+n+1); f[0]=1; sum[0]=1; int t=1; for (int i=1;i<=n;++i) { while (p[t].r==i && t<=n) { f[i]=(1ll*f[i]+f[i]+sum[i-1]-sum[p[t].l-1]+f[p[t].l-1])%Mod; ++t; } sum[i]=(sum[i-1]+f[i])%Mod; } printf("%d\n",f[n]); } int main() { Init(); Solve(); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Mr.Aoki Incubator |
User | Mcallor |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1045 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘void Solve()’: ./Main.cpp:23:10: error: ‘Inf’ was not declared in this scope int mx=-Inf; ^ ./Main.cpp: In function ‘void Init()’: ./Main.cpp:16:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ ./Main.cpp:17:54: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] for (int i=1;i<=n;++i) scanf("%d%d",&p[i].x,&p[i].k); ^