結果

問題 No.698 ペアでチームを作ろう
ユーザー tailstails
提出日時 2018-06-09 17:30:26
言語 C
(gcc 12.3.0)
結果
AC  
実行時間 164 ms / 1,000 ms
コード長 368 bytes
コンパイル時間 257 ms
コンパイル使用メモリ 28,788 KB
実行使用メモリ 4,380 KB
最終ジャッジ日時 2023-09-13 01:55:37
合計ジャッジ時間 2,678 ms
ジャッジサーバーID
(参考情報)
judge13 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,376 KB
testcase_01 AC 0 ms
4,376 KB
testcase_02 AC 2 ms
4,380 KB
testcase_03 AC 1 ms
4,376 KB
testcase_04 AC 12 ms
4,380 KB
testcase_05 AC 163 ms
4,376 KB
testcase_06 AC 162 ms
4,376 KB
testcase_07 AC 163 ms
4,376 KB
testcase_08 AC 164 ms
4,380 KB
testcase_09 AC 163 ms
4,376 KB
testcase_10 AC 163 ms
4,376 KB
testcase_11 AC 163 ms
4,380 KB
testcase_12 AC 162 ms
4,376 KB
testcase_13 AC 163 ms
4,376 KB
testcase_14 AC 163 ms
4,376 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:1:1: 警告: データ定義が型または記憶域クラスを持っていません
    1 | n;a[14];d[1<<14];
      | ^
main.c:1:1: 警告: 型がデフォルトの ‘int’ に ‘n’ の宣言内でなります [-Wimplicit-int]
main.c:1:3: 警告: データ定義が型または記憶域クラスを持っていません
    1 | n;a[14];d[1<<14];
      |   ^
main.c:1:3: 警告: 型がデフォルトの ‘int’ に ‘a’ の宣言内でなります [-Wimplicit-int]
main.c:1:9: 警告: データ定義が型または記憶域クラスを持っていません
    1 | n;a[14];d[1<<14];
      |         ^
main.c:1:9: 警告: 型がデフォルトの ‘int’ に ‘d’ の宣言内でなります [-Wimplicit-int]
main.c:2:1: 警告: 戻り値の型をデフォルトの ‘int’ にします [-Wimplicit-int]
    2 | main(i,j,c,u){
      | ^~~~
main.c: 関数 ‘main’ 内:
main.c:2:1: 警告: ‘i’ の型をデフォルトの ‘int’ にします [-Wimplicit-int]
main.c:2:1: 警告: ‘j’ の型をデフォルトの ‘int’ にします [-Wimplicit-int]
main.c:2:1: 警告: ‘c’ の型をデフォルトの ‘int’ にします [-Wimplicit-int]
main.c:2:1: 警告: ‘u’ の型をデフォルトの ‘int’ にします [-Wimplicit-int]
main.c:3:9: 警告: 関数 ‘scanf’ の暗黙的な宣言です [-Wimplicit-function-declaration]
    3 |         scanf("%d",&n);
      |         ^~~~~
main.c:1:1: 備考: include ‘<stdio.h>’ or provide a declaration of ‘scanf’
  +++ |+#include <stdio.h>
    1 | n;a[14];d[1<<14];
main.c:3:9: 警告: 組み込み関数 ‘scanf’ の互換性がない暗黙的な宣言です [-Wbuiltin-declaration-mismatch]
    3 |         scanf("%d",&n);
      |         ^~~~~
main.c:3:9: 備考: include ‘<stdio.h>’ or provide a declaration of ‘scanf’
main.c:10:27: 警告: 関数 ‘ffs’ の暗黙的な宣言です [-Wimplicit-function-declaration]
   10 |                         i=ffs(u)-1;
      |       

ソースコード

diff #

n;a[14];d[1<<14];
main(i,j,c,u){
	scanf("%d",&n);
	for(i=0;i<n;++i){
		scanf("%d",&a[i]);
	}
	for(u=0;u<1<<n;++u){
		c=__builtin_popcount(u);
		if(c==2){
			i=ffs(u)-1;
			j=ffs(u&u-1)-1;
			d[u]=a[i]^a[j];
		}else{
			for(i=1;i<u;++i){
				if((u&i)==i){
					j=u^i;
					if(d[u]<d[i]+d[j]){
						d[u]=d[i]+d[j];
					}
				}
			}
		}
	}
	printf("%d",d[(1<<n)-1]);
}
0