結果

提出番号 842
提出者 kosakkun
言語 C++
提出日時 2017-08-01 14:58:38
問題名 (28)いつだって一位の男、olphe君
結果 AC
点数 100%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 100% 2ms 8336KB
2 AC 100% 1ms 8336KB
3 AC 100% 1ms 7792KB
4 AC 100% 1ms 7776KB
5 AC 100% 2ms 7792KB
6 AC 100% 2ms 7712KB
7 AC 100% 2ms 7984KB
8 AC 100% 2ms 7424KB
9 AC 100% 1ms 8320KB
10 AC 100% 1ms 7504KB
11 AC 100% 1ms 7792KB
12 AC 100% 2ms 7984KB
13 AC 100% 2ms 8256KB
14 AC 100% 2ms 8320KB
15 AC 100% 2ms 7792KB
16 AC 100% 2ms 7504KB
17 AC 100% 2ms 7776KB
18 AC 100% 2ms 7408KB
19 AC 100% 2ms 7680KB
20 AC 100% 2ms 7776KB

ソースコード

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <algorithm>
#include <sstream>
#include <cmath>
#include <set>
#include <iomanip>
#include <deque>
#include <stdio.h>
#include <random>
using namespace std;
 
#define REP(i,n) for(int (i)=0;(i)<(int)(n);(i)++)
#define RREP(i,n) for(int (i)=(int)(n)-1;i>=0;i--)
#define REMOVE(Itr,n) (Itr).erase(remove((Itr).begin(),(Itr).end(),n),(Itr).end())
typedef long long ll;

int main() {
    
    int N; cin >> N;
    vector<int> P(N);
    REP(i,N) cin >> P[i];
    int S; cin >> S;

    int ans = 1e9;
    REP(i,(1<<N)) {
        int sum = 0;
        REP(j,N) {
            if((i>>j)&1) sum += P[j];
        }
        if(sum >= S && sum != 0) ans = min(ans,sum);
    }

    cout << ans << endl;

    return 0;
}