Submission #1325272

#TimeUsernameProblemLanguageResultExecution timeMemory
1325272djsksbrbfProgramiranje (COCI17_programiranje)C++20
80 / 80
24 ms10736 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair <ll, ll> pii;
typedef pair <ll, pii> ipi;
#define fi first
#define se second
#define pb push_back
const int MOD = 1e9 + 7;
const int MAX = 2e5 + 5;
const int dx[4] = {0, 0, 1, -1};
const int dy[4] = {1, -1, 0, 0};
#define int ll

bool check(string s, string t){
   int n = (int)s.size();
   int m = (int)t.size();
   
   for(int i = 0 ; i + m - 1 < n ; i++){
      if(t == s.substr(i, m))return 1;
   }
   
   return 0;
}

signed main(){
   ios_base::sync_with_stdio(0);
   cin.tie(0);
   
   string s; cin >> s;
   int n = (int)s.size();
   s = ' ' + s;
   
   int pref[n + 5][26];memset(pref, 0, sizeof(pref));
   
   for(int i = 1 ; i <= n ; i++){
      for(int j = 0 ; j < 26 ; j++)pref[i][j] = pref[i - 1][j];
      pref[i][s[i] - 'a']++;
   }
   
   int q; cin >> q;
   while(q--){
      int a, b, c, d; cin >> a >> b >> c >> d;
      bool ans = 1;
      for(int i = 0 ; i < 26 ; i++){
         ans &= (pref[b][i] - pref[a - 1][i] == pref[d][i] - pref[c - 1][i]);
      }
      
      cout << (ans ? "DA" : "NE") << '\n';
   }
   
   return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...