Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;int dp[11];int main(){int n;while(cin>>n){int x;string s;memset(dp,1,sizeof(dp));for(int i=0;i<n;i++){cin>>x>>s;int r=0;for(int j=0;s[j];j++){if(s[j]=='A') r=r|1;if(s[j]=='B') r=r|2;if(s[j]=='C') r=r|4;}dp[r]=min(dp[r],x);}for(int i=1;i<=7;i++){for(int j=1;j<=i;j++){dp[i|j]=min(dp[i|j],dp[i]+dp[j]);}}if(dp[7]!=dp[9]) cout<<dp[7]<<endl;