Submission #2414437
Source Code Expand
#include<stdio.h> #include<stdlib.h> int R=1,C=1,H[2000010],N[2000010]; //評価関数(いまはMAX) int hyouka(int a,int b){ if(C<b)return 1; if(C<a||b==0)return 0; return N[H[a]]>N[H[b]]?1:0; } //挿入関数 void hin(int a){ int i=C++; for(N[H[0]=R]=a;hyouka(0,i/2);i/=2)H[i]=H[i/2]; H[i]=R++; } //取り出す関数 int hout(){ int rt=H[1],i,j=2,k=H[--C]; for(i=1;hyouka(i,C);i=j)H[i]=H[j=i*2+1-hyouka(i*2,i*2+1)]; H[j/2]=k; return rt; } int main(){ int n,i,a,b=0,M=1e9; long long s=1,c=1; scanf("%d",&n); for(i=0;i<n*2;i++){ scanf("%d",&a); hin(a); } for(i=0;i<n*2;i++){ hout()<=n?(b++):(b--);//printf("%d\n",b); if(b)s=(s*abs(b))%M; } printf("%lld\n",s); return 0; } #include<stdio.h> #include<stdlib.h> int R=1,C=1,H[2000010],N[2000010]; //評価関数(いまはMAX) int hyouka(int a,int b){ if(C<b)return 1; if(C<a||b==0)return 0; return N[H[a]]>N[H[b]]?1:0; } //挿入関数 void hin(int a){ int i=C++; for(N[H[0]=R]=a;hyouka(0,i/2);i/=2)H[i]=H[i/2]; H[i]=R++; } //取り出す関数 int hout(){ int rt=H[1],i,j=2,k=H[--C]; for(i=1;hyouka(i,C);i=j)H[i]=H[j=i*2+1-hyouka(i*2,i*2+1)]; H[j/2]=k; return rt; } int main(){ int n,i,a,b=0,M=1e9+7; long long s=1; scanf("%d",&n); for(i=0;i<n*2;i++){ scanf("%d",&a); hin(a); } for(i=0;i<n*2;i++){ hout()<=n?(b++):(b--);//printf("%d\n",b); if(b)s=(s*abs(b))%M; } printf("%lld\n",s); return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - 1D Matching |
User | yuiop |
Language | C (GCC 5.4.1) |
Score | 0 |
Code Size | 1534 Byte |
Status | CE |
Compile Error
./Main.c:40:5: error: redefinition of ‘R’ int R=1,C=1,H[2000010],N[2000010]; ^ ./Main.c:3:5: note: previous definition of ‘R’ was here int R=1,C=1,H[2000010],N[2000010]; ^ ./Main.c:40:9: error: redefinition of ‘C’ int R=1,C=1,H[2000010],N[2000010]; ^ ./Main.c:3:9: note: previous definition of ‘C’ was here int R=1,C=1,H[2000010],N[2000010]; ^ ./Main.c:42:5: error: redefinition of ‘hyouka’ int hyouka(int a,int b){ ^ ./Main.c:5:5: note: previous definition of ‘hyouka’ was here int hyouka(int a,int b){ ^ ./Main.c:48:6: error: redefinition of ‘hin’ void hin(int a){ ^ ./Main.c:11:6: note: previous definition of ‘hin’ was here void hin(int a){ ^ ./Main.c:54:5: error: redefinition of ‘hout’ int hout(){ ^ ./Main.c:17:5: note: previous definition of ‘hout’ was here int hout(){ ^ ./Main.c:60:5: error: redefinition of ‘main’ int main(){ ^ ./Main.c:23:5: note: previous definition of ‘main’ was here int main(){ ^ ./Main.c: In func...