fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. //written by RyRyyyy
  4. //feel free to hack!
  5. //https ://codeforces.com /contest/1042/problem/B
  6. int main(){
  7. //long d,i,c,k; //just in case
  8. int n;
  9. cin>>n;
  10. map<string, int> p;
  11. p["A"] = p["B"] = p["C"]= p["AB"] = p["BC"] = p["AC"] = p["ABC"] = 1e9;
  12. for(int i=0;i<n;i++){
  13. int c;
  14. string s;
  15. cin>>c>>s;
  16. sort(s.begin(),s.end());
  17. p[s]=min(p[s],c);
  18. }
  19.  
  20. p["AB"] = min(p["AB"], p["A"]+p["B"]);
  21. p["BC"] = min(p["BC"], p["B"]+p["C"]);
  22. p["AC"] = min(p["AC"], p["A"]+p["C"]);
  23. //clm dai vai lozzzzz!!!! :"<
  24. p["ABC"] = min(p["ABC"], min({p["AB"]+p["C"], p["BC"]+p["A"], p["AC"]+p["B"]}));
  25. p["ABC"] = min(p["ABC"], min({p["AB"]+p["AC"], p["BC"]+p["AB"], p["AC"]+p["BC"]}));
  26. if(p["ABC"]==1e9)cout<<-1<<endl;
  27. else cout<<p["ABC"]<<endl;
  28.  
  29. }
Success #stdin #stdout 0s 15248KB
stdin
6
100 A
355 BCA
150 BC
160 AC
180 B
190 CA
stdout
250