Submission #1358215


Source Code Expand

#include<iostream>
#include<string>
#include<cmath>
#include<queue>
#include<map>
#include<set>
#include<list>
#include<iomanip>
#include<vector>
#include<functional>
#include<algorithm>
#include<cstdio>
#include<unordered_map>
#define int long long
#define rep(i,a,n) for (int (i)=(a);(i)<(n);(i)++)
using namespace std;
typedef long long ll;
typedef long double ld;
int a[33];
bool l[33];
vector<int>r, y;
int n, x;
void solve(int i) {
	if (i == floor(n / 2.0)) {
		int sum = 0;
		for (int j = 0; j<floor(n / 2.0); j++) {
			if (l[j])
				sum += a[j];
		}
		r.push_back(sum);
		return;
	}
	l[i] = false;
	solve(i + 1);
	l[i] = true;
	solve(i + 1);
}
void solve2(int i) {
	if (i == n) {
		int sum = 0;
		for (int j = floor(n / 2.0); j<n; j++) {
			if (l[j])
				sum += a[j];
		}
		y.push_back(sum);
		return;
	}
	l[i] = false;
	solve2(i + 1);
	l[i] = true;
	solve2(i + 1);
}
signed  main() {
	cin >> n >> x;
	for (int i = 0; i<n; i++) {
		cin >> a[i];
	}
	sort(a, a + n);
	solve(0);
	solve2(floor(n / 2.0));
	int sum = 0;
	sort(y.begin(), y.end());
	for (int i = 0; i<r.size(); i++) {
		int k = lower_bound(y.begin(), y.end(), x - r[i]) - y.begin();
		if (k == y.size()) continue;
		while (k < y.size() && y[k] == x - r[i]) {
			sum++;
			k++;
		}
	}
	cout << sum << endl;
	getchar(); getchar();
}

Submission Info

Submission Time
Task C - 無駄なものが嫌いな人
User Thistle
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1370 Byte
Status AC
Exec Time 598 ms
Memory 1528 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 28
Set Name Test Cases
All max_1.txt, max_2.txt, max_3.txt, max_4.txt, pair_1.txt, pair_2.txt, power2_1.txt, power2_2.txt, power2_3.txt, power2_4.txt, power2_5.txt, random_1.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, small_1.txt, small_2.txt, small_3.txt, small_4.txt
Case Name Status Exec Time Memory
max_1.txt AC 598 ms 1528 KB
max_2.txt AC 23 ms 1528 KB
max_3.txt AC 233 ms 1528 KB
max_4.txt AC 45 ms 1528 KB
pair_1.txt AC 19 ms 1528 KB
pair_2.txt AC 25 ms 1528 KB
power2_1.txt AC 14 ms 1528 KB
power2_2.txt AC 13 ms 1528 KB
power2_3.txt AC 42 ms 1528 KB
power2_4.txt AC 96 ms 1528 KB
power2_5.txt AC 2 ms 384 KB
random_1.txt AC 12 ms 1148 KB
random_2.txt AC 14 ms 1148 KB
random_3.txt AC 14 ms 1528 KB
random_4.txt AC 16 ms 1528 KB
random_5.txt AC 16 ms 1528 KB
random_6.txt AC 13 ms 1148 KB
random_7.txt AC 17 ms 1528 KB
random_8.txt AC 15 ms 1528 KB
random_9.txt AC 11 ms 1148 KB
sample_1.txt AC 1 ms 256 KB
sample_2.txt AC 1 ms 256 KB
sample_3.txt AC 1 ms 256 KB
sample_4.txt AC 1 ms 256 KB
small_1.txt AC 1 ms 256 KB
small_2.txt AC 1 ms 256 KB
small_3.txt AC 1 ms 256 KB
small_4.txt AC 1 ms 256 KB