제출 #562755

#제출 시각아이디문제언어결과실행 시간메모리
562755SSRSSelling RNA Strands (JOI16_selling_rna)C++14
10 / 100
1561 ms8764 KiB
#include <bits/stdc++.h>
using namespace std;
struct binary_indexed_tree{
  int N;
  vector<int> BIT;
  binary_indexed_tree(int N): N(N), BIT(N + 1, 0){
  }
  void add(int i){
    i++;
    while (i <= N){
      BIT[i]++;
      i += i & -i;
    }
  }
  int sum(int i){
    int ans = 0;
    while (i > 0){
      ans += BIT[i];
      i -= i & -i;
    }
    return ans;
  }
  int sum(int L, int R){
    return sum(R) - sum(L);
  }
};
int main(){
  int N, M;
  cin >> N >> M;
  vector<string> S(N);
  for (int i = 0; i < N; i++){
    cin >> S[i];
  }
  for (int i = 0; i < M; i++){
    string P, Q;
    cin >> P >> Q;
    int ans = 0;
    for (int j = 0; j < N; j++){
      if (S[j].size() >= P.size() && S[j].size() >= Q.size()){
        if (S[j].substr(0, P.size()) == P && S[j].substr(S[j].size() - Q.size()) == Q){
          ans++;
        }
      }
    }
    cout << ans << endl;
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...