Submission #381386

#TimeUsernameProblemLanguageResultExecution timeMemory
381386ikgZigZag (COCI17_zigzag)C++14
24 / 80
362 ms23916 KiB
// by ikg #include <bits/stdc++.h> using namespace std; const int E9 = 1e9; const int E8 = 1e8; const int E7 = 1e7; const int E6 = 1e6; const int E5 = 1e5; const int E4 = 1e4; const int E3 = 1e3; const int N = 5e5+7; const long long INF = 1e18; #define gcd __gcd #define ll long long #define pb push_back #define re return #define fi first #define se second #define ld long double #define debug cout<<"bug " #define endl cout<<'\n' #define sz(x) ((int)(x).size()) #define all(x) (x).begin(),(x).end() #define ios ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define sd(x) scanf("%d",&x) #define sll(x) scanf("%lld",&x) #define sld(x) scanf("%lf",&x) #define pd(x) printf("%d",x) #define pll(x) printf("%lld",x) #define pld(x) printf("%lf",x) string s[N]; map<char, vector<string> > mp; map<char, int> us; int main () { int n, q; cin >> n >> q; for (int i = 1; i <= n; ++i) { cin >> s[i]; } sort(s+1,s+1+n); for (int i = 1; i <= n; ++i) { mp[s[i][0]].pb(s[i]); } while (q--) { char c; cin >> c; us[c]++; if (us[c]>sz(mp[c])) { cout << mp[c][0]; } else { cout << mp[c][us[c]-1]; } endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...