Submission #1153831

#TimeUsernameProblemLanguageResultExecution timeMemory
1153831dzuizzVlak (COCI20_vlak)C++20
0 / 70
1096 ms1088 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
vector<string>v[2];
int n,m;
bool f(string s,bool k){ // 0-Nina, 1-Emilija
  auto lf=lower_bound(v[k].begin(),v[k].end(),s);
  auto rg=v[k].end();
  if(s.size()) rg=lower_bound(v[k].begin(),v[k].end(),s.substr(0,(int)s.size()-1)+(char)(int)(s[(int)s.size()-1]+1));
  bool res=k^1;
  for(auto it=lf;it<rg;++it){
    if((int)(*it).size()<=(int)s.size()) continue;
    string nx=s+(*it)[(int)s.size()];
    res=(f(nx,k^1)==k?k:res);
  }
  //cout<<s<<" "<<k<<" -> "<<res<<'\n';
  return res;
}
signed main(){
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  cin>>n;
  v[0].resize(n); for(auto&x:v[0]) cin>>x;
  sort(v[0].begin(),v[0].end());
  cin>>m;
  v[1].resize(m); for(auto&x:v[1]) cin>>x;
  sort(v[1].begin(),v[1].end());
  cout<<(f("",0)?"Emilija\n":"Nina\n");
  return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...