답안 #555558

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
555558 2022-05-01T07:47:54 Z fuad27 Nekameleoni (COCI15_nekameleoni) C++17
28 / 140
3000 ms 692 KB
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3")
const int MAXN = 5010;
const int MAXK = 50;
int k;
int main () {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	int n, m;
	cin >> n >> k >> m;
	int arr[n];
	for(int i = 0;i<n;i++){
		cin >> arr[i];
		arr[i]--;
	}
	while(m--) {
		int type;
		cin >> type;
		if(type == 1) {
			int p, v;
			cin >> p >> v;
			v--;p--;
			arr[p] = v;
		}
		else {
				map<int,int> mp;
	 			int p1 = 0, p2 = 0;
				int mx = 0;
				int ans = 1e9;
				set<int> s;
				mp[arr[0]]++;
				for(int i = 0;i<50;i++)s.insert(i);
				s.erase(arr[0]);
    			while(p2 < n) {
					mx = *(s.begin());
    				if(mx >= k) {
    					ans = min(ans, (int)p2-p1+1);
						mp[arr[p1]]--;
						if(mp[arr[p1]] == 0)s.insert(arr[p1]);
    					p1++;
    				}
    				else {
						if(p2 < n-1){
							mp[arr[p2+1]]++;
							s.erase(arr[p2+1]);
						}
    					p2++;
    				}
    			}
    			if(ans == 1e9)ans = -1;
    			cout << ans << "\n";
		}
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 237 ms 316 KB Output is correct
2 Correct 28 ms 336 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 476 ms 444 KB Output is correct
2 Correct 62 ms 312 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 336 ms 324 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3058 ms 400 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3040 ms 516 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3063 ms 468 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3071 ms 588 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3035 ms 468 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3064 ms 692 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3069 ms 692 KB Time limit exceeded
2 Halted 0 ms 0 KB -