# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
124245 | tutis | Mountains (IOI17_mountains) | C++17 | 1076 ms | 892 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC optimize ("O3")
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
bitset<2000>ok[2000];
unordered_map<bitset<2000>, int>M;
int dp(bitset<2000> x)
{
//auto it = M.find(x);
//if (it != M.end())
// return it->second;
int i = x._Find_first();
if (i >= 2000)
return 0;
x[i] = false;
return /*M[x] = */max(1 + dp(x & ok[i]), dp(x));
}
int maximum_deevs(vector<int> y)
{
M.clear();
for (int i = 0; i < 2000; i++)
{
ok[i].reset();
}
bitset<2000>deevs;
for (ll i = 0; i < (ll)y.size(); i++)
{
ll k = i + 1;
for (ll j = i + 1; j < (ll)y.size(); j++)
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |