Submission #442863

#TimeUsernameProblemLanguageResultExecution timeMemory
442863Wasif_JamilGrudanje (COCI19_grudanje)C++14
14 / 70
2092 ms2740 KiB
// "Say:He is the Most Merciful,We have believed in him and upon him we have relied" [67:29]

#include<bits/stdc++.h>
using namespace std;

int main(){
	string s; cin >> s;
	s = "|" + s;
	int q, n = s.size(); cin >> q;
	vector<pair<int,int>>subwords;
	for(int i=0; i<q; i++){
		int x, y; cin >> x >> y;
		subwords.push_back({x, y});
	}
	int ok = 0;
	for(auto e:subwords){
		vector<int>cnt(26);
		for(int j=e.first; j<=e.second; j++){
			if(s[j] == '*'){
				continue;
			}
			cnt[s[j]-'a']++;
		}
		for(int u:cnt){
			if(u > 1){
				ok = 1; break;
			}
		}
	}
	if(!ok){
		cout << 0 << '\n';
		return 0;
	}
	for(int i=0; i<n; i++){
		int tmp; cin >> tmp;
		s[tmp] = '*';
		int flag = 0;
		for(auto e:subwords){
			vector<int>cnt(26);
			for(int j=e.first; j<=e.second; j++){
				if(s[j] == '*'){
					continue;
				}
				cnt[s[j]-'a']++;
			}
			for(int u:cnt){
				if(u > 1){
					flag = 1; break;
				}
			}
		}
		if(flag == 0){
			cout << i+1 << ' ';
			return 0;
		}
	}
	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...