結果
問題 | No.397 NO MORE KADOMATSU |
ユーザー | tails |
提出日時 | 2021-02-22 18:21:00 |
言語 | C (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 27 ms / 2,000 ms |
コード長 | 774 bytes |
コンパイル時間 | 356 ms |
コンパイル使用メモリ | 30,332 KB |
実行使用メモリ | 24,444 KB |
平均クエリ数 | 39.11 |
最終ジャッジ日時 | 2023-09-24 02:51:30 |
合計ジャッジ時間 | 2,259 ms |
ジャッジサーバーID (参考情報) |
judge12 / judge13 |
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 27 ms
24,408 KB |
testcase_01 | AC | 23 ms
23,580 KB |
testcase_02 | AC | 23 ms
23,712 KB |
testcase_03 | AC | 23 ms
23,700 KB |
testcase_04 | AC | 24 ms
23,736 KB |
testcase_05 | AC | 23 ms
23,700 KB |
testcase_06 | AC | 23 ms
24,444 KB |
testcase_07 | AC | 24 ms
23,460 KB |
testcase_08 | AC | 23 ms
23,604 KB |
testcase_09 | AC | 22 ms
23,712 KB |
testcase_10 | AC | 24 ms
23,892 KB |
testcase_11 | AC | 23 ms
24,312 KB |
testcase_12 | AC | 24 ms
23,700 KB |
testcase_13 | AC | 24 ms
24,108 KB |
testcase_14 | AC | 24 ms
23,436 KB |
testcase_15 | AC | 25 ms
23,580 KB |
testcase_16 | AC | 23 ms
24,096 KB |
testcase_17 | AC | 23 ms
23,724 KB |
コンパイルメッセージ
main.c:26:1: 警告: データ定義が型または記憶域クラスを持っていません 26 | a[101],b[101]; | ^ main.c:26:1: 警告: 型がデフォルトの ‘int’ に ‘a’ の宣言内でなります [-Wimplicit-int] main.c:26:8: 警告: 型がデフォルトの ‘int’ に ‘b’ の宣言内でなります [-Wimplicit-int] 26 | a[101],b[101]; | ^ main.c:27:1: 警告: データ定義が型または記憶域クラスを持っていません 27 | r[100000],rn; | ^ main.c:27:1: 警告: 型がデフォルトの ‘int’ に ‘r’ の宣言内でなります [-Wimplicit-int] main.c:27:11: 警告: 型がデフォルトの ‘int’ に ‘rn’ の宣言内でなります [-Wimplicit-int] 27 | r[100000],rn; | ^~ main.c:29:1: 警告: 戻り値の型をデフォルトの ‘int’ にします [-Wimplicit-int] 29 | main(){ | ^~~~ main.c: 関数 ‘main’ 内: main.c:30:9: 警告: 関数 ‘read’ の暗黙的な宣言です [-Wimplicit-function-declaration] 30 | read(0,rbuf,sizeof rbuf); | ^~~~ main.c:47:9: 警告: 関数 ‘printf’ の暗黙的な宣言です [-Wimplicit-function-declaration] 47 | printf("%d\n",rn/2); | ^~~~~~ main.c:1:1: 備考: include ‘<stdio.h>’ or provide a declaration of ‘printf’ +++ |+#include <stdio.h> 1 | #pragma GCC optimize("Ofast") main.c:47:9: 警告: 組み込み関数 ‘printf’ の互換性がない暗黙的な宣言です [-Wbuiltin-declaration-mismatch] 47 | printf("%d\n",rn/2); | ^~~~~~ main.c:47:9: 備考: include ‘<stdio.h>’ or provide a declaration of ‘printf’
ソースコード
#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char rbuf[1<<28]; #define RD(v) int v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} void bucket_sort(unsigned*a,unsigned*b,int n){ int c[256]; for(int i=0;i<256;++i){ c[i]=0; } for(int i=0;i<n;++i){ ++c[a[i]>>8]; } int t=0; for(int i=0;i<256;++i){ int u=c[i]; c[i]=t; t+=u; } for(int i=0;i<n;++i){ b[c[a[i]>>8]++]=a[i]&255; } } a[101],b[101]; r[100000],rn; main(){ read(0,rbuf,sizeof rbuf); char*rp=rbuf; RD(n); for(int i=0;i<n;++i){ RD(ai); a[i]=ai<<8|i; } bucket_sort(a,b,n); for(int i=0;i<n;++i){ while(b[i]!=i){ int t=b[i]; b[i]=b[t]; b[t]=t; r[rn++]=i; r[rn++]=t; } } printf("%d\n",rn/2); for(int i=rn;i;){ i-=2; printf("%d %d\n",r[i],r[i+1]); } }