# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
74665 | Genezio | Selling RNA Strands (JOI16_selling_rna) | C++14 | 1563 ms | 1049600 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
// SUBTASK - 25 PTS
const int N = 100010;
map<int,string> pre[N];
map<int,string> suf[N];
int tam[N];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n,m;
string s,p,q;
cin>>n>>m;
for(int i=0;i<n;i++) {
cin>>s;
tam[i]=s.size();
string auxp;
string auxs;
for(int j=0;j<s.size();j++) {
auxp+=s[j];
auxs=s.substr(tam[i]-1-j,tam[i]);
//cout<<i<<" "<<j<<" "<<auxp<<" "<<auxs<<"\n";
pre[j+1][i]=auxp;
suf[j+1][i]=auxs;
}
}
for(int i=0;i<m;i++) {
cin>>p>>q;
int ans=0;
//cout<<i<<" "<<p<<" "<<q<<"\n";
for(int j=0;j<n;j++) {
if(p.size()>tam[j]||q.size()>tam[j]) continue;
//cout<<j<<" "<<pre[p.size()][j]<<" "<<suf[q.size()][j]<<"\n";
if(pre[p.size()][j]==p&&suf[q.size()][j]==q) ans++;
}
cout<<ans<<"\n";
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |