Submission #876906

#TimeUsernameProblemLanguageResultExecution timeMemory
876906resfastSelling RNA Strands (JOI16_selling_rna)C++17
60 / 100
1526 ms8800 KiB
#include <iostream> #include <vector> #include <unordered_map> using namespace std; #define islam_zymchybekov void solve() #define ios ios::sync_with_stdio(false); cin.tie(NULL); #define pb push_back #define all(x) x.begin(), x.end() #define endl '\n' #define int long long islam_zymchybekov{ ios; int n, m; cin >> n >> m; if (n < 5001) { vector<string> v(n); for (int i = 0; i < n; ++i) cin >> v[i]; for (int i = 0; i < m; ++i) { string s, s1; cin >> s >> s1; int ans = 0; int len_s = s.size(); int len_s1 = s1.size(); for (int j = 0; j < n; ++j) { if (v[j].size() >= max(len_s, len_s1)) { if (v[j].substr(0, len_s) == s && v[j].substr(v[j].size() - len_s1) == s1) { ++ans; } } } cout << ans << '\n'; } } else { unordered_map<string, int> mp; for (int i = 0; i < n; ++i) { string s; cin >> s; mp[s]++; } for (int i = 0; i < m; ++i) { string s, s1; cin >> s >> s1; int ans = 0; int len_s = s.size(); int len_s1 = s1.size(); for (auto &it : mp) { string curr = it.first; int len_curr = curr.size(); if (len_curr >= max(len_s, len_s1)) { if (curr.substr(0, len_s) == s && curr.substr(len_curr - len_s1) == s1) { ans += it.second; } } } cout << ans << '\n'; } } cout << flush; } int32_t main() { int T = 1; while (T--) { solve(); } return 0; }

Compilation message (stderr)

selling_rna.cpp: In function 'void solve()':
selling_rna.cpp:31:33: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'const long long int' [-Wsign-compare]
   31 |                 if (v[j].size() >= max(len_s, len_s1)) {
      |                     ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...