結果
問題 |
No.4 おもりと天秤
|
ユーザー |
![]() |
提出日時 | 2017-06-06 23:20:40 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 577 bytes |
コンパイル時間 | 266 ms |
コンパイル使用メモリ | 29,440 KB |
実行使用メモリ | 12,372 KB |
最終ジャッジ日時 | 2024-09-22 11:53:11 |
合計ジャッジ時間 | 7,023 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 3 WA * 3 RE * 2 TLE * 1 -- * 14 |
ソースコード
#include <stdio.h> int n; int w[100]; int dp[100][10000]; int op(int i,int v){ if(dp[i][v]==-1){ if(i==n){ dp[i][v]= v==0?1:0; }else{ if(op(i+1,v+w[i])) dp[i][v]= 1; if(op(i+1,v-w[i])) dp[i][v]= 1; return 0; } } return dp[i][v]; } int main(void){ scanf("%d",&n); int i,j; for(i=0;i<n;i++){ scanf("%d",&w[i]); } for(i=0;i<100;i++){ for(j=0;j<10000;j++){ dp[i][j]=-1; } } puts(op(0,0)?"possible":"impossible"); }