Submission #243469

# Submission time Handle Problem Language Result Execution time Memory
243469 2020-07-01T08:40:20 Z Vimmer Zoltan (COCI16_zoltan) C++14
14 / 140
1000 ms 5844 KB
#include <bits/stdc++.h>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>

//#pragma GCC optimize("unroll-loops")
//#pragma GCC optimize("-O3")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("fast-math")
//#pragma GCC optimize("no-stack-protector")

#define F first
#define S second
#define sz(x) int(x.size())
#define pb push_back
#define pf push_front
#define N 100010
#define M ll(1e9 + 7)
#define inf 1e9 + 1e9

using namespace std;
//using namespace __gnu_pbds;

typedef long double ld;
typedef long long ll;
typedef short int si;
typedef array <int, 2> a2;

//typedef tree <int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;

ll sum[N],  mx, a[N];

int main()
{
    //freopen("input.txt", "r", stdin); //freopen("output4.txt", "w", stdout);

    ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int n;

    cin >> n;

    for (int i = 0; i < n; i++) cin >> a[i];

    for (int msk = 0; msk < (1 << n); msk++)
    {
        vector <int> gr; gr.clear();

        for (int i = n - 1; i >= 0; i--)
            if ((1 << i) & msk) gr.pb(a[i]);

        for (int i = 0; i < n; i++)
            if (!((1 << i) & msk)) gr.pb(a[i]);

        for (int i = 0; i < n; i++)
        {
            ll kol = 1, len = 1;

            int j = i;

            while (1)
            {
                auto it = upper_bound(gr.begin(), gr.end(), gr[j]);

                if (it == gr.end()) break;

                j = (it - gr.begin());

                len++;

                while (j + 1 != sz(gr) && gr[j + 1] == gr[j]) {j++; kol = (kol + kol) % M;}
            }

            sum[len] += kol; sum[len] %= M;

            mx = max(mx, len);
        }
    }

    cout << mx << " " << sum[mx] / 2<< endl;
}
# Verdict Execution time Memory Grader output
1 Execution timed out 1088 ms 384 KB Time limit exceeded
2 Execution timed out 1047 ms 384 KB Time limit exceeded
3 Execution timed out 1089 ms 384 KB Time limit exceeded
4 Correct 5 ms 384 KB Output is correct
5 Execution timed out 1084 ms 384 KB Time limit exceeded
6 Correct 823 ms 388 KB Output is correct
7 Incorrect 25 ms 384 KB Output isn't correct
8 Incorrect 29 ms 384 KB Output isn't correct
9 Incorrect 42 ms 384 KB Output isn't correct
10 Incorrect 25 ms 384 KB Output isn't correct
11 Execution timed out 1091 ms 3956 KB Time limit exceeded
12 Execution timed out 1091 ms 3572 KB Time limit exceeded
13 Execution timed out 1072 ms 3068 KB Time limit exceeded
14 Execution timed out 1080 ms 4504 KB Time limit exceeded
15 Execution timed out 1092 ms 5376 KB Time limit exceeded
16 Execution timed out 1096 ms 5844 KB Time limit exceeded
17 Incorrect 194 ms 4340 KB Output isn't correct
18 Incorrect 209 ms 4340 KB Output isn't correct
19 Runtime error 233 ms 5216 KB Execution killed with signal 11 (could be triggered by violating memory limits)
20 Incorrect 250 ms 4348 KB Output isn't correct