답안 #555582

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
555582 2022-05-01T08:14:30 Z fuad27 Nekameleoni (COCI15_nekameleoni) C++17
42 / 140
3000 ms 972 KB
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3")
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 {
				vector<int> mp(51, 0);
	 			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 96 ms 340 KB Output is correct
2 Correct 13 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 158 ms 332 KB Output is correct
2 Correct 20 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 192 ms 372 KB Output is correct
2 Correct 28 ms 380 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3041 ms 652 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3080 ms 748 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3081 ms 632 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3058 ms 972 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3087 ms 636 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3078 ms 704 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3078 ms 696 KB Time limit exceeded
2 Halted 0 ms 0 KB -