結果

問題 No.4 おもりと天秤
ユーザー hanbei_dayohanbei_dayo
提出日時 2019-12-16 02:55:41
言語 C++11
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 933 bytes
コンパイル時間 498 ms
コンパイル使用メモリ 73,792 KB
実行使用メモリ 4,604 KB
最終ジャッジ日時 2023-09-15 16:39:55
合計ジャッジ時間 2,370 ms
ジャッジサーバーID
(参考情報)
judge15 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<utility>
#include<map>
#include<set>
#include<queue>
#include<math.h>
using namespace std;
#define mod (1000000000+7)
#define N (10007)
#define INF 1e16
typedef long long ll;
typedef pair<ll,ll> P;
bool dp[105][10010];

int main(void){
    int n;
    cin>>n;
    vector<int>a(n);
    int sum=0;
    for(int i=0;i<n;i++){
        cin>>a[i];
        sum+=a[i];
    }
    dp[0][0]=true;
    for(int i=0;i<n;i++){
        for(int j=0;j<=sum;j++){
            if(j>=a[i])dp[i+1][j]=dp[i][j]|dp[i][j-a[i]];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=sum;j++){
            if(dp[i][j]){
                cout<<i<<" "<<j<<" "<<sum-j<<endl;
                if(j==sum-j){
                    cout<<"possible"<<endl;
                    return 0;
                }
            }
        }
    }
    cout<<"impossible"<<endl;
    return 0;
}
0