Submission #253947

# Submission time Handle Problem Language Result Execution time Memory
253947 2020-07-29T06:52:03 Z Vimmer Nekameleoni (COCI15_nekameleoni) C++14
56 / 140
3000 ms 904 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 100050
#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 unsigned long long ull;
typedef short int si;
typedef array <ll, 3> a3;
typedef array <ll, 5> a5;

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


int kol[55], koler, kl[55];

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, k, m;

    cin >> n >> k >> m;

    int a[n];

    for (int i = 0; i < n; i++) {cin >> a[i]; kol[a[i]]++; if (kol[a[i]] == 1) koler++;}

    for (; m > 0; m--)
    {
        int t;

        cin >> t;

        if (t == 1)
        {
            int p, x;

            cin >> p >> x;

            p--;

            kol[a[p]]--; if (kol[a[p]] == 0) koler--;

            a[p] = x;

            kol[a[p]]++; if (kol[a[p]] == 1) koler++;

            continue;
        }

        if (koler != k) {cout << "-1" << '\n'; continue;}

        int ans = n, l = 0, r = 0, kr = 0;

        memset(kl, 0, sizeof(kl));

        while (r < n)
        {
            kl[a[r]]++;

            if (kl[a[r]] == 1) kr++;

            while (kl[a[l]] != 1) kl[a[l++]]--;

            if (kr == k) ans = min(ans, r - l + 1);

            r++;
        }

        cout << ans << '\n';
    }
}
# Verdict Execution time Memory Grader output
1 Correct 29 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 43 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 61 ms 396 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2093 ms 728 KB Output is correct
2 Correct 35 ms 640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 3072 ms 720 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3096 ms 548 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3058 ms 768 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3067 ms 632 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3087 ms 776 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3076 ms 904 KB Time limit exceeded
2 Halted 0 ms 0 KB -