結果
問題 |
No.4 おもりと天秤
|
ユーザー |
|
提出日時 | 2020-05-31 02:54:02 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 4 ms / 5,000 ms |
コード長 | 805 bytes |
コンパイル時間 | 1,396 ms |
コンパイル使用メモリ | 29,824 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-15 16:39:36 |
合計ジャッジ時間 | 2,418 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
/* * FileName: code_fix * CreatedDate: 2020-05-31 02:35:13 +0900 * LastModified: 2020-05-31 02:53:31 +0900 */ #include <stdio.h> #include <stdlib.h> int dp[101][10001]; int main(void){ int n;scanf("%d",&n); int sum=0; int *w = malloc(n*sizeof(int)); for(int i=0;i<n;i++){ scanf("%d",w+i); sum+=w[i]; } if(sum%2==1){ printf("impossible\n"); free(w); return 0; } // int dp[n][sum+1]; dp[0][0]=1; for(int i=0;i<n-1;i++){ for(int j=0;j<sum+1;j++){ if(dp[i][j]==1){ dp[i+1][j+w[i]]=1; dp[i+1][j]=1; } } } if(dp[n-1][sum/2]==1){ printf("possible\n"); } else{ printf("impossible\n"); } free(w); return 0; }