Submission #1350001

#TimeUsernameProblemLanguageResultExecution timeMemory
1350001vuqar_bazarov1Grudanje (COCI19_grudanje)C++20
35 / 70
2096 ms1840 KiB
//***** author: attacker *****//
//***** created: 09.04.2026 17:27:05 *****//

#include <bits/stdc++.h>

using namespace std;

#ifdef LOCAL
#include "algo/debug.h"
#else
#define debug(...) 1
#endif

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

#define bpc __builtin_popcount
#define size(v) (int) (v.size())

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  int q;
  string s;
  cin >> s >> q;
  int n = size(s);
  vector<pair<int, int>> segs(q);
  for (auto& [x, y] : segs) {
    cin >> x >> y;
    --x, --y;
  }
  vector<int> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    --a[i];
  }
  for (int i = -1; i < n; i++) {
    if (i != -1) {
      s[a[i]] = '*';
    }
    bool fail = false;
    for (auto [x, y] : segs) {
      vector<int> cnt(26, 0);
      for (int j = x; j <= y; j++) {
        if (s[j] != '*') cnt[s[j] - 'a']++;
      }
      if (*max_element(cnt.begin(), cnt.end()) > 1) {
        fail = true;
        break;
      }
    }
    if (!fail) {
      cout << i + 1 << '\n';
      break;
    }
  }
  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...