Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // Витамины
- //
- // Created by Владислав on 05/09/2019.
- // Copyright © 2019 Владислав. All rights reserved.
- //
- #include <iostream>
- #include <string>
- #include <cmath>
- #include <algorithm>
- #define int long long
- using namespace std;
- int n, mina, minb, minc, minab, minac, minbc, minabc;
- signed main() {
- cin >> n;
- mina = 1000000000, minb = 1000000000, minc = 1000000000, minab = 1000000000, minac = 1000000000, minbc = 1000000000, minabc = 1000000000;
- for(int i = 0; i < n; i++) {
- int c;
- string s;
- cin >> c >> s;
- if(s == "A") {
- mina = min(mina, c);
- }
- if(s == "B") {
- minb = min(minb, c);
- }
- if(s == "C") {
- minc = min(minc, c);
- }
- if(s == "AB" || s == "BA") {
- minab = min(minab, c);
- }
- if(s == "AC" || s == "CA") {
- minac = min(minac, c);
- }
- if(s == "BC" || s == "CB") {
- minbc = min(minbc, c);
- }
- if(s == "ABC" || s == "ACB" || s == "CAB" || s == "CBA" || s == "CAB" || s == "BAC" || s == "BCA") {
- minabc = min(minabc, c);
- }
- }
- int ans = 1000000000;
- // cout << mina << " " << minb << " " << minc << '\n';
- ans = min(mina + minb + minc, minabc);
- ans = min(ans, minab + minc);
- ans = min(ans, minac + minb);
- ans = min(ans, minbc + mina);
- ans = min(ans, minab + minbc);
- ans = min(ans, minab + minac);
- ans = min(ans, minac + minbc);
- if(ans >= 1e6) {
- cout << -1 << '\n';
- return 0;
- }
- cout << ans << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement