Submission #82558

#TimeUsernameProblemLanguageResultExecution timeMemory
82558luciocfSan (COCI17_san)C++14
48 / 120
79 ms500 KiB
#include <bits/stdc++.h>

using namespace std;

const int maxn = 25;

typedef long long ll;
typedef pair<int, int> pii;

pii num[maxn];

int main(void)
{
	int n;
	ll k;

	cin >> n >> k;

	for (int i = 0; i < n; i++)
		cin >> num[i].first >> num[i].second;

	int ans = 0;
	for (int mask = 1; mask < (1<<n); mask++)
	{
		int atual = 0;
		ll soma = 0LL;

		bool ok = 1;
		for (int i = 0; i < n; i++)
		{
			if (!(mask&(1<<i))) continue;

			if (num[i].first < atual) ok = 0;

			soma += (ll)num[i].second, atual = num[i].first;
		}

		if (ok && soma >= k) ans++;
	}

	cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...