Submission #2414461
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+7;
long long s=1,c=1,d[100010]={1,1};
for(i=1;i<=100000;i++)d[i]=(d[i-1]*i)%M;
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*d[abs(b)])%M;
}
printf("%lld\n",s);
return 0;
}
Submission Info
Submission Time
2018-04-25 19:25:26+0900
Task
A - 1D Matching
User
yuiop
Language
C (GCC 5.4.1)
Score
0
Code Size
833 Byte
Status
WA
Exec Time
81 ms
Memory
5760 KB
Compile Error
./Main.c: In function ‘main’:
./Main.c:27:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);
^
./Main.c:29:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&a);
^
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
0 / 500
Status
Set Name
Test Cases
Sample
example0.txt, example1.txt
All
000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, example0.txt, example1.txt
Case Name
Status
Exec Time
Memory
000.txt
WA
45 ms
5504 KB
001.txt
WA
14 ms
3328 KB
002.txt
WA
20 ms
3200 KB
003.txt
WA
23 ms
3200 KB
004.txt
WA
70 ms
5760 KB
005.txt
WA
80 ms
5760 KB
006.txt
WA
80 ms
5760 KB
007.txt
WA
80 ms
5760 KB
008.txt
WA
80 ms
5760 KB
009.txt
WA
81 ms
5760 KB
010.txt
WA
77 ms
5760 KB
011.txt
AC
80 ms
5760 KB
example0.txt
AC
2 ms
2944 KB
example1.txt
AC
2 ms
2944 KB