Submission #253947

#TimeUsernameProblemLanguageResultExecution timeMemory
253947VimmerNekameleoni (COCI15_nekameleoni)C++14
56 / 140
3096 ms904 KiB
#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 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...
#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...