# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
381352 | 2021-03-25T06:49:47 Z | AdiZer0 | San (COCI17_san) | C++17 | 246 ms | 16876 KB |
#include <bits/stdc++.h> #define pb push_back #define whole(x) x.begin(), x.end() #define sz(x) (int)x.size() using namespace std; typedef long long ll; typedef long double ld; const int N = (int)5e5 + 7; const int INF = (int)1e9 + 7; const ll linf = (ll)1e18 + 1; int h[60], g[60]; map<ll, int> was; int main() { ll k; int n; scanf ("%d %lld", &n, &k); for (int i = 0; i < n; ++i) scanf ("%d %d", h + i, g + i); ll ways = 0; for (int i = 0; i < (1 << n); ++i) { ll gold = 0; int p = -1; ll cur = 0; for (int j = 0; j < n; ++j) { if ((i >> j) & 1) { if (p == -1) gold += g[j], p = j, cur = (cur + (1 << j)); else { if (h[p] <= h[j]) gold += g[j], p = j, (cur = cur + (1 << j)); } } } if (!was[cur] && gold >= k) { was[cur] = 1; ++ways; } } printf ("%lld\n", ways); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 4 ms | 492 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 246 ms | 16876 KB | Output is correct |
2 | Correct | 144 ms | 1004 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 364 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 508 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 364 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |