제출 #362317

#제출 시각아이디문제언어결과실행 시간메모리
362317limabeansGrudanje (COCI19_grudanje)C++17
35 / 70
2080 ms3688 KiB
#include <bits/stdc++.h>
using namespace std;

template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl





using ll = long long;


const int maxn = 1e6 + 5;


int n;
string s;
int q;

pair<int,int> iv[maxn];
int a[maxn];


bool test() {
    for (int i=1; i<=n; i++) {
	int l = iv[i].first;
	int r = iv[i].second;
	set<char> st;
	for (int j=l; j<=r; j++) {
	    if (s[j]=='*') continue;
	    if (st.count(s[j])) return false;
	    st.insert(s[j]);
	}
    }
    return true;
}

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);  cout.tie(0);

    cin>>s;
    n = s.length();
    s = "."+s;

    cin>>q;
    for (int i=1; i<=q; i++) {
	cin>>iv[i].first>>iv[i].second;
    }

    for (int i=1; i<=n; i++) {
	cin>>a[i];
    }

    if (test()) out(0);

    for (int i=1; i<=n; i++) {
	s[a[i]]='*';
	if (test()) out(i);
    }

    assert(false);    
    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...