結果
問題 | No.10 +か×か |
ユーザー | %20 |
提出日時 | 2017-07-10 22:56:00 |
言語 | C (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 48 ms / 5,000 ms |
コード長 | 423 bytes |
コンパイル時間 | 415 ms |
コンパイル使用メモリ | 28,768 KB |
実行使用メモリ | 33,832 KB |
最終ジャッジ日時 | 2023-08-21 06:23:11 |
合計ジャッジ時間 | 1,288 ms |
ジャッジサーバーID (参考情報) |
judge14 / judge11 |
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
4,380 KB |
testcase_01 | AC | 0 ms
4,380 KB |
testcase_02 | AC | 1 ms
4,380 KB |
testcase_03 | AC | 47 ms
33,832 KB |
testcase_04 | AC | 5 ms
4,376 KB |
testcase_05 | AC | 1 ms
4,380 KB |
testcase_06 | AC | 48 ms
33,084 KB |
testcase_07 | AC | 12 ms
8,104 KB |
testcase_08 | AC | 8 ms
6,752 KB |
testcase_09 | AC | 12 ms
9,428 KB |
testcase_10 | AC | 1 ms
4,380 KB |
testcase_11 | AC | 1 ms
4,380 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:25:17: 警告: 関数 ‘putchar’ の暗黙的な宣言です [-Wimplicit-function-declaration] 25 | putchar(d[N][T]>>i&1?'+':'*'); | ^~~~~~~ main.c:25:17: 備考: include ‘<stdio.h>’ or provide a declaration of ‘putchar’ main.c:27:9: 警告: 関数 ‘puts’ の暗黙的な宣言です [-Wimplicit-function-declaration] 27 | pu
ソースコード
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){ if(d[i-1][v]*2+1>d[i][v+A]){ 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(""); }