結果
問題 | No.4 おもりと天秤 |
ユーザー |
![]() |
提出日時 | 2015-11-06 12:47:55 |
言語 | C++11 (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 718 bytes |
コンパイル時間 | 699 ms |
コンパイル使用メモリ | 59,744 KB |
実行使用メモリ | 8,448 KB |
最終ジャッジ日時 | 2024-09-13 13:02:24 |
合計ジャッジ時間 | 7,007 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 5 TLE * 1 -- * 17 |
ソースコード
#include<iostream> #include<stdio.h> #include<vector> using namespace std; int n; vector<int> w; int rec(int i, int j){ int res; if(i==n){ res = 0; }else if(j<w[i]){ res = rec(i+1, j); }else{ res = max(rec(i+1, j), rec(i+1, j-w[i])+w[i]); } return res; } int main(){ cin>> n; int a, sum = 0; for(int i=0; i<n; i++){ cin>> a; w.push_back(a); sum += w[i]; } int W; if(sum%2==1){ cout<< "impossible"<< endl; return 0; }else{ W = sum/2; } int ans = rec(0, W); if(ans==W){ cout<< "possible"<< endl; }else{ cout<< "impossible"<< endl; } return 0; }