Submission #1075441
Source Code Expand
#include<stdio.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 ta[100010],to[100010],co[100010],nt[100010],s[100010]; int MAX(int a,int b){return a>b?a:b;} int f(int n){//printf("in%d\n",n); int i,j; for(i=ta[n];i+1;i=nt[i])co[to[i]]=f(to[i]); R=C=1; for(i=ta[n];i+1;i=nt[i])hin(co[to[i]]);//printf("%d %d\n",n,C); if(C==1)return 0; for(i=0;C-1;i++)s[i]=N[hout()]; //for(j=0;j<i;j++)printf("%d,",s[j]);printf("\n"); for(j=1;j<i;j++)s[j]=MAX(s[j-1]+1,s[j]); return s[i-1]+1; } int main(){ int n,a,i,j; scanf("%d",&n); for(i=0;i<n;i++)ta[i+1]=-1; for(i=1;i<n;i++){ scanf("%d",&a); to[i]=i+1; nt[i]=ta[a]; ta[a]=i; } printf("%d\n",f(1)); return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Tournament |
User | yuiop |
Language | C (GCC 5.4.1) |
Score | 800 |
Code Size | 1130 Byte |
Status | AC |
Exec Time | 19 ms |
Memory | 4864 KB |
Compile Error
./Main.c: In function ‘main’: ./Main.c:37:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ ./Main.c:40: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 | 800 / 800 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt, s3.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, s1.txt, s2.txt, s3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 18 ms | 1792 KB |
02.txt | AC | 18 ms | 1792 KB |
03.txt | AC | 18 ms | 1792 KB |
04.txt | AC | 18 ms | 1792 KB |
05.txt | AC | 18 ms | 1792 KB |
06.txt | AC | 18 ms | 1792 KB |
07.txt | AC | 18 ms | 1792 KB |
08.txt | AC | 18 ms | 1792 KB |
09.txt | AC | 18 ms | 1792 KB |
10.txt | AC | 18 ms | 1792 KB |
11.txt | AC | 19 ms | 4864 KB |
12.txt | AC | 18 ms | 3840 KB |
13.txt | AC | 17 ms | 3328 KB |
14.txt | AC | 17 ms | 2816 KB |
15.txt | AC | 16 ms | 2432 KB |
16.txt | AC | 16 ms | 2176 KB |
17.txt | AC | 16 ms | 1920 KB |
18.txt | AC | 16 ms | 1792 KB |
19.txt | AC | 16 ms | 1792 KB |
20.txt | AC | 17 ms | 1792 KB |
21.txt | AC | 14 ms | 2944 KB |
22.txt | AC | 13 ms | 2304 KB |
23.txt | AC | 13 ms | 2176 KB |
24.txt | AC | 13 ms | 1920 KB |
25.txt | AC | 13 ms | 1920 KB |
26.txt | AC | 14 ms | 1792 KB |
27.txt | AC | 14 ms | 1792 KB |
28.txt | AC | 15 ms | 1792 KB |
29.txt | AC | 15 ms | 1792 KB |
30.txt | AC | 15 ms | 1792 KB |
31.txt | AC | 14 ms | 1792 KB |
32.txt | AC | 14 ms | 1792 KB |
33.txt | AC | 14 ms | 1792 KB |
34.txt | AC | 14 ms | 1792 KB |
35.txt | AC | 14 ms | 1792 KB |
36.txt | AC | 14 ms | 1792 KB |
37.txt | AC | 14 ms | 1792 KB |
38.txt | AC | 14 ms | 1792 KB |
39.txt | AC | 13 ms | 1792 KB |
40.txt | AC | 13 ms | 1792 KB |
41.txt | AC | 1 ms | 128 KB |
42.txt | AC | 2 ms | 128 KB |
43.txt | AC | 1 ms | 128 KB |
44.txt | AC | 1 ms | 128 KB |
45.txt | AC | 1 ms | 128 KB |
46.txt | AC | 2 ms | 128 KB |
47.txt | AC | 1 ms | 128 KB |
48.txt | AC | 1 ms | 128 KB |
49.txt | AC | 1 ms | 128 KB |
50.txt | AC | 1 ms | 128 KB |
s1.txt | AC | 1 ms | 128 KB |
s2.txt | AC | 1 ms | 128 KB |
s3.txt | AC | 1 ms | 128 KB |