Submission #555578

#TimeUsernameProblemLanguageResultExecution timeMemory
555578FidanNekameleoni (COCI15_nekameleoni)C++17
0 / 140
3101 ms264424 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll MAXN=400010; const ll inf=(1e18); map<pair<ll, ll>, ll> mp; int main(){ ll n, k, m, i, j; cin>>n>>k>>m; vector<ll> v(n+1, k+10); for(ll i=1; i<=n; i++){ cin>>v[i]; } for(i=1; i<=n; i++){ for(j=1; j<=n; j++){ if(v[i]==v[j]){ mp[{v[i], j}]=mp[{v[i], j-1}]+1; } else { mp[{v[i], j}]=mp[{v[i], j-1}]; } } } while(m--){ ll test; cin>>test; if(test==1){ ll p, val; cin>>p>>val; for(i=p; i<=n; i++){ mp[{v[p], i}]--; } v[p]=val; for(i=p; i<=n; i++){ mp[{v[p], i}]++; } } else { ll l=0, r=0, cavab=n+100; while(r<=n){ bool f=true; for(ll i=1; i<=k; i++){ if(mp[{i, r}]-mp[{i, l}]==0){ f=false; } } if(f){ cavab=min(cavab, r-l); l++; } else { r++; } } if(cavab==n+100){ cout<<-1<<endl; } else { cout<<cavab<<endl; } } } return 0; }
#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...