結果

問題 No.4 おもりと天秤
コンテスト
ユーザー nxteru
提出日時 2017-06-07 21:32:05
言語 C(gnu17)
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -std=gnu17 -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types -Wno-error=int-conversion -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 5 ms / 5,000 ms
コード長 479 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 152 ms
コンパイル使用メモリ 39,232 KB
最終ジャッジ日時 2026-02-21 23:49:41
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
In function 'main':
cc1: warning: iteration 10000 invokes undefined behavior [-Waggressive-loop-optimizations]
main.c:13:17: note: within this loop
   13 |        for(j=0;j<=10000;j++){
      |                ~^~~~~~~

ソースコード

diff #
raw source code

#include <stdio.h>
int dp[101][10000];
int main(void){
   int n,i,j,x=0;
   scanf("%d",&n);
   int w[n];
   for(i=0;i<n;i++){
       scanf("%d",&w[i]);
       x+=w[i];
   }
   dp[n][0]=1;
   for(i=n-1;i>=0;i--){
       for(j=0;j<=10000;j++){
           if(j-2*w[i]<0){
               dp[i][j]=dp[i+1][j];
           }else{
               dp[i][j]=dp[i+1][j]>dp[i+1][j-2*w[i]]?dp[i+1][j]:dp[i+1][j-2*w[i]];
           }
       }
   }
   puts(dp[0][x]?"possible":"impossible");
}

0