Submission #2414525
Source Code Expand
#include<stdio.h>
#include<stdlib.h>
int R=1,C=1,H[2000010],N[2000010];
//評価関数(いまはMin)
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=1,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++){
(a=hout())<=n?(b++):(b--);//printf("%d\n",b);
if(b&&a>n)s=(s*abs(b))%M;
}
printf("%lld\n",s);
return 0;
}
Submission Info
Submission Time
2018-04-25 19:39:27+0900
Task
A - 1D Matching
User
yuiop
Language
C (GCC 5.4.1)
Score
0
Code Size
839 Byte
Status
WA
Exec Time
79 ms
Memory
4992 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
43 ms
4736 KB
001.txt
WA
13 ms
2432 KB
002.txt
WA
19 ms
2432 KB
003.txt
WA
22 ms
2432 KB
004.txt
WA
69 ms
4992 KB
005.txt
WA
79 ms
4992 KB
006.txt
WA
79 ms
4992 KB
007.txt
WA
79 ms
4992 KB
008.txt
WA
78 ms
4992 KB
009.txt
WA
78 ms
4992 KB
010.txt
WA
76 ms
4992 KB
011.txt
AC
78 ms
4992 KB
example0.txt
AC
1 ms
2176 KB
example1.txt
AC
1 ms
2176 KB