Submission #3230311
Source Code Expand
/*#pragma comment(linker, "/stack:200000000") #pragma GCC optimize("Ofast") #pragma target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")*/ #include<bits/stdc++.h> #define ll long long #define inf 1000000005 #define put putchar('\n') #define F(i,a,b) for (int i=(a);i<=(b);i++) #define D(i,a,b) for (int i=(a);i>=(b);i--) #define go(i,t) for (int i=head[t];i;i=Next[i]) #define sqr(x) ((x)*(x)) #define re register #define mp make_pair #define fi first #define se second #define pa pair<int,int> #define pb push_back #define be begin() #define en end() #define ret return puts("-1"),0; #define mod 1000000007 //#define N 500055 //#define int ll using namespace std; inline char gc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++; } #define gc getchar inline int read(){char c=getchar();int tot=1;while ((c<'0'|| c>'9')&&c!='-') c=getchar();if (c=='-'){tot=-1;c=getchar();} int sum=0;while (c>='0'&&c<='9'){sum=sum*10+c-'0';c=getchar();}return sum*tot;} inline void wr(int x){if (x<0) {putchar('-');wr(-x);return;}if(x>=10)wr(x/10);putchar(x%10+'0');} inline void wrn(int x){wr(x);put;}inline void wri(int x){wr(x);putchar(' ');} inline void wrn(int x,int y){wri(x);wrn(y);}inline void wrn(int a,int b,int c){wri(a);wrn(b,c);} int n,m; int ksm(ll x,int k){ int sum=1; while (k){ if (k&1) sum=sum*x%mod; x=x*x%mod;k>>=1; } return sum; } int C(int n,int m){return (n<m||m<0)?0:1LL*fac[n]*inv[m]%mod*inv[n-m]%mod;} void init(int x){ fac[0]=1;F(i,1,x) fac[i]=1LL*fac[i-1]*i%mod; inv[x]=ksm(fac[x],mod-2);F(i,x-1,0) inv[i]=1LL*inv[i+1]*(i+1)%mod; } inline add(int &x,int k){x+=k;x-=(x>=mod)?mod;0;x+=(x<0)?mod:0;} signed main(){ init(2000000); F(i,1,6) x[i]=read(); F(i,1,6) y[i]=read(); F(i,x[3]+1,x[4]){ x=-gt(i,y[3]-1); x=1LL*x*gt2(i,y[3])%mod; x=1LL*x*(i+y[3])%mod; add(ans,x); } F(i,y[3]+1,y[4]){ x=-gt(x[3]+1,i); x=1LL*x*gt2(x[3],i)%mod; x=1LL*x*(x[3]+i); add(ans,x); } x=-gt(x[3],y[3]); x=1LL*x*gt2(x[3],y[3])%mod; x=1LL*x*(x[3]+y[3]); add(ans,x); F(i,x[3],x[4]-1){ x=gt(i,y[4]); x=1LL*x*gt2(i,y[4]+1)%mod; x=1LL*x*(i+y[4]+1)%mod; add(ans,x); } F(i,y[3],y[4]-1){ x=gt(x[4],i); x=1LL*x*gt2(x[4]+1,i)%mod; x=1LL*x*(x[4]+1+i)%mod; add(ans,x); } x=gt(x[4],y[4]); x=1LL*x*gt2(x[4],y[4])%mod; x=1LL*x*(x[4]+y[4]+1)%mod; add(ans,x); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Sightseeing Plan |
User | yukuai |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2475 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int C(int, int)’: ./Main.cpp:44:44: error: ‘fac’ was not declared in this scope int C(int n,int m){return (n<m||m<0)?0:1LL*fac[n]*inv[m]%mod*inv[n-m]%mod;} ^ ./Main.cpp:44:51: error: ‘inv’ was not declared in this scope int C(int n,int m){return (n<m||m<0)?0:1LL*fac[n]*inv[m]%mod*inv[n-m]%mod;} ^ ./Main.cpp: In function ‘void init(int)’: ./Main.cpp:46:2: error: ‘fac’ was not declared in this scope fac[0]=1;F(i,1,x) fac[i]=1LL*fac[i-1]*i%mod; ^ ./Main.cpp:47:2: error: ‘inv’ was not declared in this scope inv[x]=ksm(fac[x],mod-2);F(i,x-1,0) inv[i]=1LL*inv[i+1]*(i+1)%mod; ^ ./Main.cpp: At global scope: ./Main.cpp:49:24: error: ISO C++ forbids declaration of ‘add’ with no type [-fpermissive] inline add(int &x,int k){x+=k;x-=(x>=mod)?mod;0;x+=(x<0)?mod:0;} ^ ./Main.cpp: In function ‘int add(int&, int)’: ./Main.cpp:49:46: error: expected ‘:’ before ‘;’ token...