結果

問題 No.617 Nafmo、買い出しに行く
ユーザー DaylightDaylight
提出日時 2018-07-05 17:50:25
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 133 ms / 2,000 ms
コード長 1,166 bytes
コンパイル時間 1,423 ms
コンパイル使用メモリ 161,716 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-01 02:36:34
合計ジャッジ時間 3,713 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,816 KB
testcase_01 AC 2 ms
6,944 KB
testcase_02 AC 2 ms
6,944 KB
testcase_03 AC 9 ms
6,940 KB
testcase_04 AC 1 ms
6,944 KB
testcase_05 AC 18 ms
6,940 KB
testcase_06 AC 131 ms
6,944 KB
testcase_07 AC 133 ms
6,940 KB
testcase_08 AC 2 ms
6,940 KB
testcase_09 AC 2 ms
6,940 KB
testcase_10 AC 131 ms
6,940 KB
testcase_11 AC 131 ms
6,940 KB
testcase_12 AC 132 ms
6,944 KB
testcase_13 AC 133 ms
6,940 KB
testcase_14 AC 133 ms
6,940 KB
testcase_15 AC 132 ms
6,940 KB
testcase_16 AC 131 ms
6,944 KB
testcase_17 AC 130 ms
6,944 KB
testcase_18 AC 2 ms
6,940 KB
testcase_19 AC 1 ms
6,940 KB
testcase_20 AC 2 ms
6,944 KB
testcase_21 AC 2 ms
6,944 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#include <typeinfo>
#include <cxxabi.h>
#ifdef LOCAL
#include "dbgtoki.hpp"
#define DUMP(i) dump((string)TOSTRING(i), demangle(typeid(i).name()), __LINE__ , i) 
#else
#define DUMP(i)
#endif

using namespace std;
#define TOSTRING(x) #x
#define SZ(x) (int)(x).size()
#define REP(i,n) for(int i=0;i<(n);i++)
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define ALL(s) (s).begin(), (s).end()
#define UNIQUE(v) v.erase( unique(v.begin(), v.end()) , v.end());
#define dis distance
#define so sort
#define rev reverse
#define pub push_back
#define sec second
#define fir first

typedef long long unsigned int llu;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vector <int> > vvi;
const int EPS = 1e-9;
const int MOD = 1e9+7;
const int INF = (1 << 30);

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	int n,k;
	cin >> n >> k;
	vi A(n);
	REP(i,n)cin >> A[i];
	int ans = 0;	
	DUMP(1<<(n+1));
	FOR(i,1,(1<<(n+1))){
		int sum = 0;
		REP(j,n){
			if((i&(1<<j)) != 0){
				DUMP("true");
				sum += A[j];
			}
		}
		DUMP(sum);
		if(sum > k)continue;
		ans = max(ans,sum);
	}
	cout << ans << endl;
	return 0;
}
0