結果

問題 No.10 +か×か
ユーザー %20%20
提出日時 2017-07-10 22:54:04
言語 C
(gcc 12.3.0)
結果
WA  
実行時間 -
コード長 381 bytes
コンパイル時間 1,151 ms
コンパイル使用メモリ 28,296 KB
実行使用メモリ 39,176 KB
最終ジャッジ日時 2023-07-29 05:21:56
合計ジャッジ時間 1,488 ms
ジャッジサーバーID
(参考情報)
judge11 / judge13
このコードへのチャレンジ(β)

テストケース

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

ソースコード

diff #

N,T,A;
long d[51][100001];
i,v;
main(){
	scanf("%d%d%d",&N,&T,&A);
	d[1][A]=1;
	for(i=2;i<=N;++i){
		scanf("%d",&A);
		for(v=1;v<=T;++v){
			if(d[i-1][v]){
				if(v+A<=T){
					d[i][v+A]=d[i-1][v]*2+1;
				}
				if(v*A<=T){
					if(d[i-1][v]*2>d[i][v*A]){
						d[i][v*A]=d[i-1][v]*2;
					}
				}
			}
		}
	}
	for(i=N-2;i>=0;--i){
		putchar(d[N][T]>>i&1?'+':'*');
	}
	puts("");
}
0