Submission #1324637

#TimeUsernameProblemLanguageResultExecution timeMemory
1324637aaaaaaaaGrudanje (COCI19_grudanje)C++20
35 / 70
2095 ms2044 KiB
#include <bits/stdc++.h>
using namespace std;
signed main(){
	ios::sync_with_stdio(0);
	cin.tie(nullptr); cout.tie(nullptr);
	string str;
	int q, l, r, n, idx = 1, best = 0;
	vector<pair<int, int>> vec;
	cin >> str >> q;
	n = (int) str.size();
	vector<int> point(n + 1, 0);
	while(q--){
		cin >> l >> r;
		vec.push_back({l, r});
	}
	for(int i = 1; i <= n; ++i){
		cin >> point[i];
	}
	auto bad = [&](int l, int r) -> bool {
		set<char> st;
		for(int j = l - 1; j <= r - 1; ++j){
			if(str[j] != '*'){
				if(st.find(str[j]) != st.end()) return 1;
				st.insert(str[j]);
			}
		}
		return 0;
	};
	for(auto [l, r] : vec){
		while(idx <= n && bad(l, r)){
			str[point[idx] - 1] = '*';
			idx += 1, best += 1;
		}
	}
	cout << best << "\n";
	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...